{

"resourceType": "Bundle",
"id": "resources",
"meta": {
  "lastUpdated": "2017-04-26T18:33:43.228-04:00"
},
"type": "collection",
"entry": [
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Resource",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Resource",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 5
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Resource",
      "name": "Resource",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": true,
      "type": "Resource",
      "snapshot": {
        "element": [
          {
            "id": "Resource",
            "path": "Resource",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Resource.id",
            "path": "Resource.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Resource.meta",
            "path": "Resource.meta",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Resource.implicitRules",
            "path": "Resource.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Resource.language",
            "path": "Resource.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Resource",
            "path": "Resource",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Resource.id",
            "path": "Resource.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Resource.meta",
            "path": "Resource.meta",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Resource.implicitRules",
            "path": "Resource.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Resource.language",
            "path": "Resource.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Account",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Account",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Account",
      "name": "Account",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Account",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Account",
            "path": "Account",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Account.id",
            "path": "Account.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.meta",
            "path": "Account.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.implicitRules",
            "path": "Account.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Account.language",
            "path": "Account.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Account.text",
            "path": "Account.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Account.contained",
            "path": "Account.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Account.extension",
            "path": "Account.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Account.modifierExtension",
            "path": "Account.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Account.identifier",
            "path": "Account.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.status",
            "path": "Account.status",
            "comment": "This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the Account as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AccountStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates whether the account is available to be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/account-status"
              }
            }
          },
          {
            "id": "Account.type",
            "path": "Account.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AccountType"
                }
              ],
              "strength": "example",
              "description": "The usage type of this account, permits categorization of accounts.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/account-type"
              }
            }
          },
          {
            "id": "Account.name",
            "path": "Account.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.subject",
            "path": "Account.subject",
            "comment": "Accounts can be applied to non patients for tracking other non patient related activities, such as group services (patients not tracked, and costs charged to another body), or may not be allocated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.period",
            "path": "Account.period",
            "comment": "It is possible for transactions relevant to a coverage period to be posted to the account before or after the coverage period, however the services that are being charged for must be within this period.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.active",
            "path": "Account.active",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.balance",
            "path": "Account.balance",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Account.coverage",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Coverage"
              }
            ],
            "path": "Account.coverage",
            "comment": "Typically this may be some form of insurance, internal charges, or self-pay.\n\nLocal or jurisdicational business rules may determine which coverage covers which types of billable items charged to the account, and in which order.\nWhere the order is important, a local/jurisdicational extension may be defined to specify the order for the type of charge.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.coverage.id",
            "path": "Account.coverage.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Account.coverage.extension",
            "path": "Account.coverage.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Account.coverage.modifierExtension",
            "path": "Account.coverage.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Account.coverage.coverage",
            "path": "Account.coverage.coverage",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.coverage.priority",
            "path": "Account.coverage.priority",
            "comment": "It is common in some jurisdictions for there to be multiple coverages allocated to an account, and a sequence is required to order the settling of the account (often with insurance claiming).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.owner",
            "path": "Account.owner",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.description",
            "path": "Account.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.guarantor",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Guarantor"
              }
            ],
            "path": "Account.guarantor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Account.guarantor.id",
            "path": "Account.guarantor.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Account.guarantor.extension",
            "path": "Account.guarantor.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Account.guarantor.modifierExtension",
            "path": "Account.guarantor.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Account.guarantor.party",
            "path": "Account.guarantor.party",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Account.guarantor.onHold",
            "path": "Account.guarantor.onHold",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Account.guarantor.period",
            "path": "Account.guarantor.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Account",
            "path": "Account",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Account.identifier",
            "path": "Account.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.status",
            "path": "Account.status",
            "comment": "This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the Account as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AccountStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates whether the account is available to be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/account-status"
              }
            }
          },
          {
            "id": "Account.type",
            "path": "Account.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AccountType"
                }
              ],
              "strength": "example",
              "description": "The usage type of this account, permits categorization of accounts.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/account-type"
              }
            }
          },
          {
            "id": "Account.name",
            "path": "Account.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.subject",
            "path": "Account.subject",
            "comment": "Accounts can be applied to non patients for tracking other non patient related activities, such as group services (patients not tracked, and costs charged to another body), or may not be allocated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.period",
            "path": "Account.period",
            "comment": "It is possible for transactions relevant to a coverage period to be posted to the account before or after the coverage period, however the services that are being charged for must be within this period.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.active",
            "path": "Account.active",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.balance",
            "path": "Account.balance",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Account.coverage",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Coverage"
              }
            ],
            "path": "Account.coverage",
            "comment": "Typically this may be some form of insurance, internal charges, or self-pay.\n\nLocal or jurisdicational business rules may determine which coverage covers which types of billable items charged to the account, and in which order.\nWhere the order is important, a local/jurisdicational extension may be defined to specify the order for the type of charge.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.coverage.coverage",
            "path": "Account.coverage.coverage",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.coverage.priority",
            "path": "Account.coverage.priority",
            "comment": "It is common in some jurisdictions for there to be multiple coverages allocated to an account, and a sequence is required to order the settling of the account (often with insurance claiming).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.owner",
            "path": "Account.owner",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.description",
            "path": "Account.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Account.guarantor",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Guarantor"
              }
            ],
            "path": "Account.guarantor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Account.guarantor.party",
            "path": "Account.guarantor.party",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Account.guarantor.onHold",
            "path": "Account.guarantor.onHold",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Account.guarantor.period",
            "path": "Account.guarantor.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ActivityDefinition",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "cds"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition",
      "name": "ActivityDefinition",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ActivityDefinition",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ActivityDefinition",
            "path": "ActivityDefinition",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ActivityDefinition.id",
            "path": "ActivityDefinition.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.meta",
            "path": "ActivityDefinition.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.implicitRules",
            "path": "ActivityDefinition.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.language",
            "path": "ActivityDefinition.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ActivityDefinition.text",
            "path": "ActivityDefinition.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ActivityDefinition.contained",
            "path": "ActivityDefinition.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ActivityDefinition.extension",
            "path": "ActivityDefinition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ActivityDefinition.modifierExtension",
            "path": "ActivityDefinition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ActivityDefinition.url",
            "path": "ActivityDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.identifier",
            "path": "ActivityDefinition.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this activity definition outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.version",
            "path": "ActivityDefinition.version",
            "comment": "There may be different activity definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the activity definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.name",
            "path": "ActivityDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.title",
            "path": "ActivityDefinition.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.status",
            "path": "ActivityDefinition.status",
            "comment": "Allows filtering of activity definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired activity definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "ActivityDefinition.experimental",
            "path": "ActivityDefinition.experimental",
            "comment": "Allows filtering of activity definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental activity definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.date",
            "path": "ActivityDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the activity definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.publisher",
            "path": "ActivityDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the activity definition is the organization or individual primarily responsible for the maintenance and upkeep of the activity definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the activity definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.description",
            "path": "ActivityDefinition.description",
            "comment": "This description can be used to capture details such as why the activity definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the activity definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.purpose",
            "path": "ActivityDefinition.purpose",
            "comment": "This element does not describe the usage of the activity definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this activity definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ActivityDefinition.usage",
            "path": "ActivityDefinition.usage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ActivityDefinition.approvalDate",
            "path": "ActivityDefinition.approvalDate",
            "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ActivityDefinition.lastReviewDate",
            "path": "ActivityDefinition.lastReviewDate",
            "comment": "If specified, this is usually after the approval date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ActivityDefinition.effectivePeriod",
            "path": "ActivityDefinition.effectivePeriod",
            "comment": "The effective period for a activity definition  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.useContext",
            "path": "ActivityDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.jurisdiction",
            "path": "ActivityDefinition.jurisdiction",
            "comment": "It may be possible for the activity definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ActivityDefinition.topic",
            "path": "ActivityDefinition.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DefinitionTopic"
                }
              ],
              "strength": "example",
              "description": "High-level categorization of the definition, used for searching, sorting, and filtering",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/definition-topic"
              }
            }
          },
          {
            "id": "ActivityDefinition.contributor",
            "path": "ActivityDefinition.contributor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Contributor"
              }
            ]
          },
          {
            "id": "ActivityDefinition.contact",
            "path": "ActivityDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.copyright",
            "path": "ActivityDefinition.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ActivityDefinition.relatedArtifact",
            "path": "ActivityDefinition.relatedArtifact",
            "comment": "Each related artifact is either an attachment, or a reference to another resource, but not both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "ActivityDefinition.library",
            "path": "ActivityDefinition.library",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Library"
              }
            ]
          },
          {
            "id": "ActivityDefinition.kind",
            "path": "ActivityDefinition.kind",
            "comment": "May determine what types of extensions are permitted.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActivityDefinitionKind"
                }
              ],
              "strength": "required",
              "description": "The kind of activity the definition is describing",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "ActivityDefinition.code",
            "path": "ActivityDefinition.code",
            "comment": "Tends to be less relevant for activities involving particular products.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActivityDefinitionType"
                }
              ],
              "strength": "example",
              "description": "Detailed type of the activity; e.g. CBC",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-code"
              }
            }
          },
          {
            "id": "ActivityDefinition.timing[x]",
            "path": "ActivityDefinition.timing[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Timing"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Range"
              }
            ]
          },
          {
            "id": "ActivityDefinition.location",
            "path": "ActivityDefinition.location",
            "comment": "May reference a specific clinical location or may just identify a type of location.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "ActivityDefinition.participant",
            "path": "ActivityDefinition.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ActivityDefinition.participant.id",
            "path": "ActivityDefinition.participant.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ActivityDefinition.participant.extension",
            "path": "ActivityDefinition.participant.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ActivityDefinition.participant.modifierExtension",
            "path": "ActivityDefinition.participant.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.participant.type",
            "path": "ActivityDefinition.participant.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActivityParticipantType"
                }
              ],
              "strength": "required",
              "description": "The type of participant in the activity",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-participant-type"
              }
            }
          },
          {
            "id": "ActivityDefinition.participant.role",
            "path": "ActivityDefinition.participant.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActivityParticipantRole"
                }
              ],
              "strength": "example",
              "description": "Defines roles played by participants for the action",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-participant-role"
              }
            }
          },
          {
            "id": "ActivityDefinition.product[x]",
            "path": "ActivityDefinition.product[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              },
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActivityProduct"
                }
              ],
              "strength": "example",
              "description": "Code describing the type of substance or medication",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "ActivityDefinition.quantity",
            "path": "ActivityDefinition.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dosage",
            "path": "ActivityDefinition.dosage",
            "comment": "If a dosage instruction is used, the definition should not specify timing or quantity.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Dosage"
              }
            ]
          },
          {
            "id": "ActivityDefinition.bodySite",
            "path": "ActivityDefinition.bodySite",
            "comment": "Only used if not implicit in the code found in ProcedureRequest.type.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "A code that identifies the anatomical location",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "ActivityDefinition.transform",
            "path": "ActivityDefinition.transform",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureMap"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dynamicValue",
            "path": "ActivityDefinition.dynamicValue",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dynamicValue.id",
            "path": "ActivityDefinition.dynamicValue.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dynamicValue.extension",
            "path": "ActivityDefinition.dynamicValue.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dynamicValue.modifierExtension",
            "path": "ActivityDefinition.dynamicValue.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.dynamicValue.description",
            "path": "ActivityDefinition.dynamicValue.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dynamicValue.path",
            "path": "ActivityDefinition.dynamicValue.path",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dynamicValue.language",
            "path": "ActivityDefinition.dynamicValue.language",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dynamicValue.expression",
            "path": "ActivityDefinition.dynamicValue.expression",
            "comment": "The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ActivityDefinition",
            "path": "ActivityDefinition",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ActivityDefinition.url",
            "path": "ActivityDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.identifier",
            "path": "ActivityDefinition.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this activity definition outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.version",
            "path": "ActivityDefinition.version",
            "comment": "There may be different activity definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the activity definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.name",
            "path": "ActivityDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.title",
            "path": "ActivityDefinition.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.status",
            "path": "ActivityDefinition.status",
            "comment": "Allows filtering of activity definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired activity definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "ActivityDefinition.experimental",
            "path": "ActivityDefinition.experimental",
            "comment": "Allows filtering of activity definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental activity definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.date",
            "path": "ActivityDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the activity definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.publisher",
            "path": "ActivityDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the activity definition is the organization or individual primarily responsible for the maintenance and upkeep of the activity definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the activity definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.description",
            "path": "ActivityDefinition.description",
            "comment": "This description can be used to capture details such as why the activity definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the activity definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.purpose",
            "path": "ActivityDefinition.purpose",
            "comment": "This element does not describe the usage of the activity definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this activity definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ActivityDefinition.usage",
            "path": "ActivityDefinition.usage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ActivityDefinition.approvalDate",
            "path": "ActivityDefinition.approvalDate",
            "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ActivityDefinition.lastReviewDate",
            "path": "ActivityDefinition.lastReviewDate",
            "comment": "If specified, this is usually after the approval date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ActivityDefinition.effectivePeriod",
            "path": "ActivityDefinition.effectivePeriod",
            "comment": "The effective period for a activity definition  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.useContext",
            "path": "ActivityDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.jurisdiction",
            "path": "ActivityDefinition.jurisdiction",
            "comment": "It may be possible for the activity definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ActivityDefinition.topic",
            "path": "ActivityDefinition.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DefinitionTopic"
                }
              ],
              "strength": "example",
              "description": "High-level categorization of the definition, used for searching, sorting, and filtering",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/definition-topic"
              }
            }
          },
          {
            "id": "ActivityDefinition.contributor",
            "path": "ActivityDefinition.contributor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Contributor"
              }
            ]
          },
          {
            "id": "ActivityDefinition.contact",
            "path": "ActivityDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ActivityDefinition.copyright",
            "path": "ActivityDefinition.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ActivityDefinition.relatedArtifact",
            "path": "ActivityDefinition.relatedArtifact",
            "comment": "Each related artifact is either an attachment, or a reference to another resource, but not both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "ActivityDefinition.library",
            "path": "ActivityDefinition.library",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Library"
              }
            ]
          },
          {
            "id": "ActivityDefinition.kind",
            "path": "ActivityDefinition.kind",
            "comment": "May determine what types of extensions are permitted.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActivityDefinitionKind"
                }
              ],
              "strength": "required",
              "description": "The kind of activity the definition is describing",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "ActivityDefinition.code",
            "path": "ActivityDefinition.code",
            "comment": "Tends to be less relevant for activities involving particular products.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActivityDefinitionType"
                }
              ],
              "strength": "example",
              "description": "Detailed type of the activity; e.g. CBC",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-code"
              }
            }
          },
          {
            "id": "ActivityDefinition.timing[x]",
            "path": "ActivityDefinition.timing[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Timing"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Range"
              }
            ]
          },
          {
            "id": "ActivityDefinition.location",
            "path": "ActivityDefinition.location",
            "comment": "May reference a specific clinical location or may just identify a type of location.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "ActivityDefinition.participant",
            "path": "ActivityDefinition.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ActivityDefinition.participant.type",
            "path": "ActivityDefinition.participant.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActivityParticipantType"
                }
              ],
              "strength": "required",
              "description": "The type of participant in the activity",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-participant-type"
              }
            }
          },
          {
            "id": "ActivityDefinition.participant.role",
            "path": "ActivityDefinition.participant.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActivityParticipantRole"
                }
              ],
              "strength": "example",
              "description": "Defines roles played by participants for the action",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-participant-role"
              }
            }
          },
          {
            "id": "ActivityDefinition.product[x]",
            "path": "ActivityDefinition.product[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              },
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActivityProduct"
                }
              ],
              "strength": "example",
              "description": "Code describing the type of substance or medication",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "ActivityDefinition.quantity",
            "path": "ActivityDefinition.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dosage",
            "path": "ActivityDefinition.dosage",
            "comment": "If a dosage instruction is used, the definition should not specify timing or quantity.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Dosage"
              }
            ]
          },
          {
            "id": "ActivityDefinition.bodySite",
            "path": "ActivityDefinition.bodySite",
            "comment": "Only used if not implicit in the code found in ProcedureRequest.type.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "A code that identifies the anatomical location",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "ActivityDefinition.transform",
            "path": "ActivityDefinition.transform",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureMap"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dynamicValue",
            "path": "ActivityDefinition.dynamicValue",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dynamicValue.description",
            "path": "ActivityDefinition.dynamicValue.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dynamicValue.path",
            "path": "ActivityDefinition.dynamicValue.path",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dynamicValue.language",
            "path": "ActivityDefinition.dynamicValue.language",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ActivityDefinition.dynamicValue.expression",
            "path": "ActivityDefinition.dynamicValue.expression",
            "comment": "The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/AdverseEvent",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "AdverseEvent",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "rcrim"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/AdverseEvent",
      "name": "AdverseEvent",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "AdverseEvent",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "AdverseEvent",
            "path": "AdverseEvent",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "AdverseEvent.id",
            "path": "AdverseEvent.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.meta",
            "path": "AdverseEvent.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.implicitRules",
            "path": "AdverseEvent.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "AdverseEvent.language",
            "path": "AdverseEvent.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "AdverseEvent.text",
            "path": "AdverseEvent.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "AdverseEvent.contained",
            "path": "AdverseEvent.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "AdverseEvent.extension",
            "path": "AdverseEvent.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "AdverseEvent.modifierExtension",
            "path": "AdverseEvent.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "AdverseEvent.identifier",
            "path": "AdverseEvent.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.kind",
            "path": "AdverseEvent.kind",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventKind"
                }
              ],
              "strength": "required",
              "description": "Overall categorization of the event, e.g. real or potential",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-kind"
              }
            }
          },
          {
            "id": "AdverseEvent.event",
            "path": "AdverseEvent.event",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventType"
                }
              ],
              "strength": "example",
              "description": "Detailed type of event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-type"
              }
            }
          },
          {
            "id": "AdverseEvent.subject",
            "path": "AdverseEvent.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ResearchSubject"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.date",
            "path": "AdverseEvent.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.resultingCondition",
            "path": "AdverseEvent.resultingCondition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.location",
            "path": "AdverseEvent.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.seriousness",
            "path": "AdverseEvent.seriousness",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventSeriousness"
                }
              ],
              "strength": "example",
              "description": "Overall seriousness of this event for the patient",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-seriousness"
              }
            }
          },
          {
            "id": "AdverseEvent.severity",
            "path": "AdverseEvent.severity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventSeverity"
                }
              ],
              "strength": "required",
              "description": "The severity of the adverse event itself, in direct relation to the subject",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-severity"
              }
            }
          },
          {
            "id": "AdverseEvent.outcome",
            "path": "AdverseEvent.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventOutcome"
                }
              ],
              "strength": "required",
              "description": "TODO (and should this be required?)",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-outcome"
              }
            }
          },
          {
            "id": "AdverseEvent.recorder",
            "path": "AdverseEvent.recorder",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.eventParticipant",
            "path": "AdverseEvent.eventParticipant",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.description",
            "path": "AdverseEvent.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity",
            "path": "AdverseEvent.suspectEntity",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity.id",
            "path": "AdverseEvent.suspectEntity.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AdverseEvent.suspectEntity.extension",
            "path": "AdverseEvent.suspectEntity.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "AdverseEvent.suspectEntity.modifierExtension",
            "path": "AdverseEvent.suspectEntity.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity.instance",
            "path": "AdverseEvent.suspectEntity.instance",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationStatement"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity.causality",
            "path": "AdverseEvent.suspectEntity.causality",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity.causality.id",
            "path": "AdverseEvent.suspectEntity.causality.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AdverseEvent.suspectEntity.causality.extension",
            "path": "AdverseEvent.suspectEntity.causality.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "AdverseEvent.suspectEntity.causality.modifierExtension",
            "path": "AdverseEvent.suspectEntity.causality.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity.causality.assessment",
            "path": "AdverseEvent.suspectEntity.causality.assessment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventCausalityAssessment"
                }
              ],
              "strength": "example",
              "description": "TODO",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-causality-assess"
              }
            }
          },
          {
            "id": "AdverseEvent.suspectEntity.causality.productRelatedness",
            "path": "AdverseEvent.suspectEntity.causality.productRelatedness",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity.causality.author",
            "path": "AdverseEvent.suspectEntity.causality.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PractitionerRole"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity.causality.method",
            "path": "AdverseEvent.suspectEntity.causality.method",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventCausalityMethod"
                }
              ],
              "strength": "example",
              "description": "TODO",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-causality-method"
              }
            }
          },
          {
            "id": "AdverseEvent.subjectMedicalHistory",
            "path": "AdverseEvent.subjectMedicalHistory",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Immunization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.referenceDocument",
            "path": "AdverseEvent.referenceDocument",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.study",
            "path": "AdverseEvent.study",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ResearchStudy"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "AdverseEvent",
            "path": "AdverseEvent",
            "min": 0,
            "max": "*"
          },
          {
            "id": "AdverseEvent.identifier",
            "path": "AdverseEvent.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.kind",
            "path": "AdverseEvent.kind",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventKind"
                }
              ],
              "strength": "required",
              "description": "Overall categorization of the event, e.g. real or potential",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-kind"
              }
            }
          },
          {
            "id": "AdverseEvent.event",
            "path": "AdverseEvent.event",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventType"
                }
              ],
              "strength": "example",
              "description": "Detailed type of event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-type"
              }
            }
          },
          {
            "id": "AdverseEvent.subject",
            "path": "AdverseEvent.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ResearchSubject"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.date",
            "path": "AdverseEvent.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.resultingCondition",
            "path": "AdverseEvent.resultingCondition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.location",
            "path": "AdverseEvent.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.seriousness",
            "path": "AdverseEvent.seriousness",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventSeriousness"
                }
              ],
              "strength": "example",
              "description": "Overall seriousness of this event for the patient",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-seriousness"
              }
            }
          },
          {
            "id": "AdverseEvent.severity",
            "path": "AdverseEvent.severity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventSeverity"
                }
              ],
              "strength": "required",
              "description": "The severity of the adverse event itself, in direct relation to the subject",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-severity"
              }
            }
          },
          {
            "id": "AdverseEvent.outcome",
            "path": "AdverseEvent.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventOutcome"
                }
              ],
              "strength": "required",
              "description": "TODO (and should this be required?)",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-outcome"
              }
            }
          },
          {
            "id": "AdverseEvent.recorder",
            "path": "AdverseEvent.recorder",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.eventParticipant",
            "path": "AdverseEvent.eventParticipant",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.description",
            "path": "AdverseEvent.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity",
            "path": "AdverseEvent.suspectEntity",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity.instance",
            "path": "AdverseEvent.suspectEntity.instance",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationStatement"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity.causality",
            "path": "AdverseEvent.suspectEntity.causality",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity.causality.assessment",
            "path": "AdverseEvent.suspectEntity.causality.assessment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventCausalityAssessment"
                }
              ],
              "strength": "example",
              "description": "TODO",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-causality-assess"
              }
            }
          },
          {
            "id": "AdverseEvent.suspectEntity.causality.productRelatedness",
            "path": "AdverseEvent.suspectEntity.causality.productRelatedness",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity.causality.author",
            "path": "AdverseEvent.suspectEntity.causality.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PractitionerRole"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.suspectEntity.causality.method",
            "path": "AdverseEvent.suspectEntity.causality.method",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdverseEventCausalityMethod"
                }
              ],
              "strength": "example",
              "description": "TODO",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adverse-event-causality-method"
              }
            }
          },
          {
            "id": "AdverseEvent.subjectMedicalHistory",
            "path": "AdverseEvent.subjectMedicalHistory",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Immunization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.referenceDocument",
            "path": "AdverseEvent.referenceDocument",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AdverseEvent.study",
            "path": "AdverseEvent.study",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ResearchStudy"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "AllergyIntolerance",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance",
      "name": "AllergyIntolerance",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "To record a clinical assessment of a propensity, or potential risk to an individual, of an adverse reaction upon future exposure to the specified substance, or class of substance.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "AllergyIntolerance",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "AllergyIntolerance",
            "path": "AllergyIntolerance",
            "comment": "Substances include, but are not limited to: a therapeutic substance administered correctly at an appropriate dosage for the individual; food; material derived from plants or animals; or venom from insect stings.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "ait-1",
                "severity": "error",
                "human": "AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.",
                "expression": "verificationStatus='entered-in-error' or clinicalStatus.exists()",
                "xpath": "f:verificationStatus/@value='entered-in-error' or exists(f:clinicalStatus)"
              },
              {
                "key": "ait-2",
                "severity": "error",
                "human": "AllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error",
                "expression": "verificationStatus!='entered-in-error' or clinicalStatus.empty()",
                "xpath": "f:verificationStatus/@value!='entered-in-error' or not(exists(f:clinicalStatus))"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.id",
            "path": "AllergyIntolerance.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AllergyIntolerance.meta",
            "path": "AllergyIntolerance.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AllergyIntolerance.implicitRules",
            "path": "AllergyIntolerance.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "AllergyIntolerance.language",
            "path": "AllergyIntolerance.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "AllergyIntolerance.text",
            "path": "AllergyIntolerance.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "AllergyIntolerance.contained",
            "path": "AllergyIntolerance.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.extension",
            "path": "AllergyIntolerance.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.modifierExtension",
            "path": "AllergyIntolerance.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "AllergyIntolerance.identifier",
            "path": "AllergyIntolerance.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AllergyIntolerance.clinicalStatus",
            "path": "AllergyIntolerance.clinicalStatus",
            "comment": "This element is labeled as a modifier because the status contains the codes inactive and resolved that mark the AllergyIntolerance as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "ait-1",
              "ait-2"
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceClinicalStatus"
                }
              ],
              "strength": "required",
              "description": "The clinical status of the allergy or intolerance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/allergy-clinical-status"
              }
            }
          },
          {
            "id": "AllergyIntolerance.verificationStatus",
            "path": "AllergyIntolerance.verificationStatus",
            "comment": "This element is labeled as a modifier because the status contains the codes refuted and entered-in-error that mark the AllergyIntolerance as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "ait-1",
              "ait-2"
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceVerificationStatus"
                }
              ],
              "strength": "required",
              "description": "Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/allergy-verification-status"
              }
            }
          },
          {
            "id": "AllergyIntolerance.type",
            "path": "AllergyIntolerance.type",
            "comment": "Allergic (typically immune-mediated) reactions have been traditionally regarded as an indicator for potential escalation to significant future risk. Contemporary knowledge suggests that some reactions previously thought to be immune-mediated are, in fact, non-immune, but in some cases can still pose a life threatening risk. It is acknowledged that many clinicians may not be in a position to distinguish the mechanism of a particular reaction. Often the term \"allergy\" is used rather generically and may overlap with the use of \"intolerance\" - in practice the boundaries between these two concepts may not be well-defined or understood. This data element is included nevertheless, because many legacy systems have captured this attribute. Immunologic testing may provide supporting evidence for the basis of the reaction and the causative substance, but no tests are 100% sensitive or specific for sensitivity to a particular substance. If, as is commonly the case, it is unclear whether the reaction is due to an allergy or an intolerance, then the type element should be omitted from the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceType"
                }
              ],
              "strength": "required",
              "description": "Identification of the underlying physiological mechanism for a Reaction Risk.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/allergy-intolerance-type"
              }
            }
          },
          {
            "id": "AllergyIntolerance.category",
            "path": "AllergyIntolerance.category",
            "comment": "This data element has been included because it is currently being captured in some clinical systems. This data can be derived from the substance where coding systems are used, and is effectively redundant in that situation.  When searching on category, consider the implications of AllergyIntolerance resources without a category.  For example, when searching on category = medication, medication allergies that don't have a category valued will not be returned.  Refer to [search](search.html) for more information on how to search category with a :missing modifier to get allergies that don't have a category.  Additionally, category should be used with caution because category can be subjective based on the sender.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceCategory"
                }
              ],
              "strength": "required",
              "description": "Category of an identified substance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/allergy-intolerance-category"
              }
            }
          },
          {
            "id": "AllergyIntolerance.criticality",
            "path": "AllergyIntolerance.criticality",
            "comment": "The default criticality value for any propensity to an adverse reaction should be 'Low Risk', indicating at the very least a relative contraindication to deliberate or voluntary exposure to the substance. 'High Risk' is flagged if the clinician has identified a propensity for a more serious or potentially life-threatening reaction, such as anaphylaxis, and implies an absolute contraindication to deliberate or voluntary exposure to the substance. If this element is missing, the criticality is unknown (though it may be known elsewhere).\n\nSystems that capture a severity at the condition level are actually representing the concept of criticality whereas the severity documented at the reaction level is representing the true reaction severity.  Existing systems that are capturing both condition criticality and reaction severity may use the term \"severity\" to represent both.  Criticality is the worst it could be in the future (i.e. situation-agnostic) whereas severity is situation-dependent.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceCriticality"
                }
              ],
              "strength": "required",
              "description": "Estimate of the potential clinical harm, or seriousness, of a reaction to an identified substance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/allergy-intolerance-criticality"
              }
            }
          },
          {
            "id": "AllergyIntolerance.code",
            "path": "AllergyIntolerance.code",
            "comment": "It is strongly recommended that this element be populated using a terminology, where possible. For example, some terminologies used include RxNorm, SNOMED CT, DM+D, NDFRT, ICD-9, IDC-10, UNI, ATC and CPT. Plain text should only be used if there is no appropriate terminology available. Additional details can be specified in the text.\r\rWhen a substance or product code is specified for the 'code' element, the \"default\" semantic context is that this is a positive statement of an allergy or intolerance (depending on the value of the 'type' element, if present) condition to the specified substance/product.  In the corresponding SNOMED CT allergy model, the specified substance/product is the target (destination) of the \"Causative agent\" relationship.\r\rThe 'substanceExposureRisk' extension is available as a structured and more flexible alternative to the 'code' element for making positive or negative allergy or intolerance statements.  This extension provides the capability to make \"no known allergy\" (or \"no risk of adverse reaction\") statements regarding any coded substance/product (including cases when a pre-coordinated \"no allergy to x\" concept for that substance/product does not exist).  If the 'substanceExposureRisk' extension is present, the AllergyIntolerance.code element SHALL be omitted.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceCode"
                }
              ],
              "strength": "example",
              "description": "Type of the substance/product, allergy or intolerance condition, or negation/exclusion codes for reporting no known allergies.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/allergyintolerance-code"
              }
            }
          },
          {
            "id": "AllergyIntolerance.patient",
            "path": "AllergyIntolerance.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AllergyIntolerance.onset[x]",
            "path": "AllergyIntolerance.onset[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Age"
              },
              {
                "code": "Period"
              },
              {
                "code": "Range"
              },
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.assertedDate",
            "path": "AllergyIntolerance.assertedDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.recorder",
            "path": "AllergyIntolerance.recorder",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.asserter",
            "path": "AllergyIntolerance.asserter",
            "comment": "The recorder takes repsonsibility for the content, but can reference the source from where they got it.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AllergyIntolerance.lastOccurrence",
            "path": "AllergyIntolerance.lastOccurrence",
            "comment": "This date may be replicated by one of the Onset of Reaction dates. Where a textual representation of the date of last occurrence is required e.g. 'In Childhood, '10 years ago' the Comment element should be used.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.note",
            "path": "AllergyIntolerance.note",
            "comment": "For example: including reason for flagging a seriousness of 'High Risk'; and instructions related to future exposure or administration of the substance, such as administration within an Intensive Care Unit or under corticosteroid cover. The notes should be related to an allergy or intolerance as a condition in general and not related to any particular episode of it. For episode notes and descriptions, use AllergyIntolerance.event.description and  AllergyIntolerance.event.notes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.reaction",
            "path": "AllergyIntolerance.reaction",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.reaction.id",
            "path": "AllergyIntolerance.reaction.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.reaction.extension",
            "path": "AllergyIntolerance.reaction.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.reaction.modifierExtension",
            "path": "AllergyIntolerance.reaction.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "AllergyIntolerance.reaction.substance",
            "path": "AllergyIntolerance.reaction.substance",
            "comment": "Coding of the specific substance (or pharmaceutical product) with a terminology capable of triggering decision support should be used wherever possible.  The 'code' element allows for the use of a specific substance or pharmaceutical product, or a group or class of substances. In the case of an allergy or intolerance to a class of substances, (for example, \"penicillins\"), the 'reaction.substance' element could be used to code the specific substance that was identifed as having caused the reaction (for example, \"amoxycillin\"). Duplication of the value in the 'code' and 'reaction.substance' elements is acceptable when a specific substance has been recorded in 'code'.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubstanceCode"
                }
              ],
              "strength": "example",
              "description": "Codes defining the type of the substance (including pharmaceutical products).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/substance-code"
              }
            }
          },
          {
            "id": "AllergyIntolerance.reaction.manifestation",
            "path": "AllergyIntolerance.reaction.manifestation",
            "comment": "Manifestation can be expressed as a single word, phrase or brief description. For example: nausea, rash or no reaction. It is preferable that manifestation should be coded with a terminology, where possible. The values entered here may be used to display on an application screen as part of a list of adverse reactions, as recommended in the UK NHS CUI guidelines.  Terminologies commonly used include, but are not limited to, SNOMED CT or ICD10.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Manifestation"
                }
              ],
              "strength": "example",
              "description": "Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "AllergyIntolerance.reaction.description",
            "path": "AllergyIntolerance.reaction.description",
            "comment": "Use the description to provide any details of a particular event of the occurred reaction such as circumstances, reaction specifics, what happened before/after. Information, related to the event, but not describing a particular care should be captured in the comment field. For example: at the age of four, the patient was given penicillin for strep throat and subsequently developed severe hives.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.reaction.onset",
            "path": "AllergyIntolerance.reaction.onset",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.reaction.severity",
            "path": "AllergyIntolerance.reaction.severity",
            "comment": "It is acknowledged that this assessment is very subjective. There may be some some specific practice domains where objective scales have been applied. Objective scales can be included in this model as extensions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceSeverity"
                }
              ],
              "strength": "required",
              "description": "Clinical assessment of the severity of a reaction event as a whole, potentially considering multiple different manifestations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/reaction-event-severity"
              }
            }
          },
          {
            "id": "AllergyIntolerance.reaction.exposureRoute",
            "path": "AllergyIntolerance.reaction.exposureRoute",
            "comment": "Coding of the route of exposure with a terminology should be used wherever possible.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RouteOfAdministration"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/route-codes"
              }
            }
          },
          {
            "id": "AllergyIntolerance.reaction.note",
            "path": "AllergyIntolerance.reaction.note",
            "comment": "Use this field to record information indirectly related to a particular event and not captured in the description. For example: Clinical records are no longer available, recorded based on information provided to the patient by her mother and her mother is deceased.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "AllergyIntolerance",
            "path": "AllergyIntolerance",
            "comment": "Substances include, but are not limited to: a therapeutic substance administered correctly at an appropriate dosage for the individual; food; material derived from plants or animals; or venom from insect stings.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "ait-1",
                "severity": "error",
                "human": "AllergyIntolerance.clinicalStatus SHALL be present if verificationStatus is not entered-in-error.",
                "expression": "verificationStatus='entered-in-error' or clinicalStatus.exists()",
                "xpath": "f:verificationStatus/@value='entered-in-error' or exists(f:clinicalStatus)"
              },
              {
                "key": "ait-2",
                "severity": "error",
                "human": "AllergyIntolerance.clinicalStatus SHALL NOT be present if verification Status is entered-in-error",
                "expression": "verificationStatus!='entered-in-error' or clinicalStatus.empty()",
                "xpath": "f:verificationStatus/@value!='entered-in-error' or not(exists(f:clinicalStatus))"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.identifier",
            "path": "AllergyIntolerance.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AllergyIntolerance.clinicalStatus",
            "path": "AllergyIntolerance.clinicalStatus",
            "comment": "This element is labeled as a modifier because the status contains the codes inactive and resolved that mark the AllergyIntolerance as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "ait-1",
              "ait-2"
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceClinicalStatus"
                }
              ],
              "strength": "required",
              "description": "The clinical status of the allergy or intolerance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/allergy-clinical-status"
              }
            }
          },
          {
            "id": "AllergyIntolerance.verificationStatus",
            "path": "AllergyIntolerance.verificationStatus",
            "comment": "This element is labeled as a modifier because the status contains the codes refuted and entered-in-error that mark the AllergyIntolerance as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "ait-1",
              "ait-2"
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceVerificationStatus"
                }
              ],
              "strength": "required",
              "description": "Assertion about certainty associated with a propensity, or potential risk, of a reaction to the identified substance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/allergy-verification-status"
              }
            }
          },
          {
            "id": "AllergyIntolerance.type",
            "path": "AllergyIntolerance.type",
            "comment": "Allergic (typically immune-mediated) reactions have been traditionally regarded as an indicator for potential escalation to significant future risk. Contemporary knowledge suggests that some reactions previously thought to be immune-mediated are, in fact, non-immune, but in some cases can still pose a life threatening risk. It is acknowledged that many clinicians may not be in a position to distinguish the mechanism of a particular reaction. Often the term \"allergy\" is used rather generically and may overlap with the use of \"intolerance\" - in practice the boundaries between these two concepts may not be well-defined or understood. This data element is included nevertheless, because many legacy systems have captured this attribute. Immunologic testing may provide supporting evidence for the basis of the reaction and the causative substance, but no tests are 100% sensitive or specific for sensitivity to a particular substance. If, as is commonly the case, it is unclear whether the reaction is due to an allergy or an intolerance, then the type element should be omitted from the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceType"
                }
              ],
              "strength": "required",
              "description": "Identification of the underlying physiological mechanism for a Reaction Risk.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/allergy-intolerance-type"
              }
            }
          },
          {
            "id": "AllergyIntolerance.category",
            "path": "AllergyIntolerance.category",
            "comment": "This data element has been included because it is currently being captured in some clinical systems. This data can be derived from the substance where coding systems are used, and is effectively redundant in that situation.  When searching on category, consider the implications of AllergyIntolerance resources without a category.  For example, when searching on category = medication, medication allergies that don't have a category valued will not be returned.  Refer to [search](search.html) for more information on how to search category with a :missing modifier to get allergies that don't have a category.  Additionally, category should be used with caution because category can be subjective based on the sender.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceCategory"
                }
              ],
              "strength": "required",
              "description": "Category of an identified substance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/allergy-intolerance-category"
              }
            }
          },
          {
            "id": "AllergyIntolerance.criticality",
            "path": "AllergyIntolerance.criticality",
            "comment": "The default criticality value for any propensity to an adverse reaction should be 'Low Risk', indicating at the very least a relative contraindication to deliberate or voluntary exposure to the substance. 'High Risk' is flagged if the clinician has identified a propensity for a more serious or potentially life-threatening reaction, such as anaphylaxis, and implies an absolute contraindication to deliberate or voluntary exposure to the substance. If this element is missing, the criticality is unknown (though it may be known elsewhere).\n\nSystems that capture a severity at the condition level are actually representing the concept of criticality whereas the severity documented at the reaction level is representing the true reaction severity.  Existing systems that are capturing both condition criticality and reaction severity may use the term \"severity\" to represent both.  Criticality is the worst it could be in the future (i.e. situation-agnostic) whereas severity is situation-dependent.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceCriticality"
                }
              ],
              "strength": "required",
              "description": "Estimate of the potential clinical harm, or seriousness, of a reaction to an identified substance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/allergy-intolerance-criticality"
              }
            }
          },
          {
            "id": "AllergyIntolerance.code",
            "path": "AllergyIntolerance.code",
            "comment": "It is strongly recommended that this element be populated using a terminology, where possible. For example, some terminologies used include RxNorm, SNOMED CT, DM+D, NDFRT, ICD-9, IDC-10, UNI, ATC and CPT. Plain text should only be used if there is no appropriate terminology available. Additional details can be specified in the text.\r\rWhen a substance or product code is specified for the 'code' element, the \"default\" semantic context is that this is a positive statement of an allergy or intolerance (depending on the value of the 'type' element, if present) condition to the specified substance/product.  In the corresponding SNOMED CT allergy model, the specified substance/product is the target (destination) of the \"Causative agent\" relationship.\r\rThe 'substanceExposureRisk' extension is available as a structured and more flexible alternative to the 'code' element for making positive or negative allergy or intolerance statements.  This extension provides the capability to make \"no known allergy\" (or \"no risk of adverse reaction\") statements regarding any coded substance/product (including cases when a pre-coordinated \"no allergy to x\" concept for that substance/product does not exist).  If the 'substanceExposureRisk' extension is present, the AllergyIntolerance.code element SHALL be omitted.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceCode"
                }
              ],
              "strength": "example",
              "description": "Type of the substance/product, allergy or intolerance condition, or negation/exclusion codes for reporting no known allergies.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/allergyintolerance-code"
              }
            }
          },
          {
            "id": "AllergyIntolerance.patient",
            "path": "AllergyIntolerance.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AllergyIntolerance.onset[x]",
            "path": "AllergyIntolerance.onset[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Age"
              },
              {
                "code": "Period"
              },
              {
                "code": "Range"
              },
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.assertedDate",
            "path": "AllergyIntolerance.assertedDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.recorder",
            "path": "AllergyIntolerance.recorder",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.asserter",
            "path": "AllergyIntolerance.asserter",
            "comment": "The recorder takes repsonsibility for the content, but can reference the source from where they got it.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AllergyIntolerance.lastOccurrence",
            "path": "AllergyIntolerance.lastOccurrence",
            "comment": "This date may be replicated by one of the Onset of Reaction dates. Where a textual representation of the date of last occurrence is required e.g. 'In Childhood, '10 years ago' the Comment element should be used.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.note",
            "path": "AllergyIntolerance.note",
            "comment": "For example: including reason for flagging a seriousness of 'High Risk'; and instructions related to future exposure or administration of the substance, such as administration within an Intensive Care Unit or under corticosteroid cover. The notes should be related to an allergy or intolerance as a condition in general and not related to any particular episode of it. For episode notes and descriptions, use AllergyIntolerance.event.description and  AllergyIntolerance.event.notes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.reaction",
            "path": "AllergyIntolerance.reaction",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.reaction.substance",
            "path": "AllergyIntolerance.reaction.substance",
            "comment": "Coding of the specific substance (or pharmaceutical product) with a terminology capable of triggering decision support should be used wherever possible.  The 'code' element allows for the use of a specific substance or pharmaceutical product, or a group or class of substances. In the case of an allergy or intolerance to a class of substances, (for example, \"penicillins\"), the 'reaction.substance' element could be used to code the specific substance that was identifed as having caused the reaction (for example, \"amoxycillin\"). Duplication of the value in the 'code' and 'reaction.substance' elements is acceptable when a specific substance has been recorded in 'code'.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubstanceCode"
                }
              ],
              "strength": "example",
              "description": "Codes defining the type of the substance (including pharmaceutical products).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/substance-code"
              }
            }
          },
          {
            "id": "AllergyIntolerance.reaction.manifestation",
            "path": "AllergyIntolerance.reaction.manifestation",
            "comment": "Manifestation can be expressed as a single word, phrase or brief description. For example: nausea, rash or no reaction. It is preferable that manifestation should be coded with a terminology, where possible. The values entered here may be used to display on an application screen as part of a list of adverse reactions, as recommended in the UK NHS CUI guidelines.  Terminologies commonly used include, but are not limited to, SNOMED CT or ICD10.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Manifestation"
                }
              ],
              "strength": "example",
              "description": "Clinical symptoms and/or signs that are observed or associated with an Adverse Reaction Event.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "AllergyIntolerance.reaction.description",
            "path": "AllergyIntolerance.reaction.description",
            "comment": "Use the description to provide any details of a particular event of the occurred reaction such as circumstances, reaction specifics, what happened before/after. Information, related to the event, but not describing a particular care should be captured in the comment field. For example: at the age of four, the patient was given penicillin for strep throat and subsequently developed severe hives.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.reaction.onset",
            "path": "AllergyIntolerance.reaction.onset",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "AllergyIntolerance.reaction.severity",
            "path": "AllergyIntolerance.reaction.severity",
            "comment": "It is acknowledged that this assessment is very subjective. There may be some some specific practice domains where objective scales have been applied. Objective scales can be included in this model as extensions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AllergyIntoleranceSeverity"
                }
              ],
              "strength": "required",
              "description": "Clinical assessment of the severity of a reaction event as a whole, potentially considering multiple different manifestations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/reaction-event-severity"
              }
            }
          },
          {
            "id": "AllergyIntolerance.reaction.exposureRoute",
            "path": "AllergyIntolerance.reaction.exposureRoute",
            "comment": "Coding of the route of exposure with a terminology should be used wherever possible.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RouteOfAdministration"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/route-codes"
              }
            }
          },
          {
            "id": "AllergyIntolerance.reaction.note",
            "path": "AllergyIntolerance.reaction.note",
            "comment": "Use this field to record information indirectly related to a particular event and not captured in the description. For example: Clinical records are no longer available, recorded based on information provided to the patient by her mother and her mother is deceased.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Appointment",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Appointment",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Appointment",
      "name": "Appointment",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Appointment",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Appointment",
            "path": "Appointment",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "app-3",
                "severity": "error",
                "human": "Only proposed or cancelled appointments can be missing start/end dates",
                "expression": "(start.exists() and end.exists()) or (status in ('proposed' | 'cancelled'))",
                "xpath": "((exists(f:start) and exists(f:end)) or (f:status/@value='proposed') or (f:status/@value='cancelled'))"
              },
              {
                "key": "app-2",
                "severity": "error",
                "human": "Either start and end are specified, or neither",
                "expression": "start.empty() xor end.exists()",
                "xpath": "((exists(f:start) and exists(f:end)) or (not(exists(f:start)) and not(exists(f:end))))"
              }
            ]
          },
          {
            "id": "Appointment.id",
            "path": "Appointment.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Appointment.meta",
            "path": "Appointment.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Appointment.implicitRules",
            "path": "Appointment.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Appointment.language",
            "path": "Appointment.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Appointment.text",
            "path": "Appointment.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Appointment.contained",
            "path": "Appointment.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Appointment.extension",
            "path": "Appointment.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Appointment.modifierExtension",
            "path": "Appointment.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Appointment.identifier",
            "path": "Appointment.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Appointment.status",
            "path": "Appointment.status",
            "comment": "If the Appointment's status is \"cancelled\" then all participants are expected to have their calendars released for the appointment period, and as such any Slots that were marked as BUSY can be re-set to FREE.\n\nThis element is labeled as a modifier because the status contains the code entered-in-error that mark the Appointment as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AppointmentStatus"
                }
              ],
              "strength": "required",
              "description": "The free/busy status of an appointment.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/appointmentstatus"
              }
            }
          },
          {
            "id": "Appointment.serviceCategory",
            "path": "Appointment.serviceCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-category"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-category"
              }
            }
          },
          {
            "id": "Appointment.serviceType",
            "path": "Appointment.serviceType",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-type"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-type"
              }
            }
          },
          {
            "id": "Appointment.specialty",
            "path": "Appointment.specialty",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "specialty"
                }
              ],
              "strength": "preferred",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "Appointment.appointmentType",
            "path": "Appointment.appointmentType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "appointment-type"
                }
              ],
              "strength": "preferred",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0276"
              }
            }
          },
          {
            "id": "Appointment.reason",
            "path": "Appointment.reason",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ApptReason"
                }
              ],
              "strength": "preferred",
              "description": "The Reason for the appointment to take place.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-reason"
              }
            }
          },
          {
            "id": "Appointment.indication",
            "path": "Appointment.indication",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ]
          },
          {
            "id": "Appointment.priority",
            "path": "Appointment.priority",
            "comment": "Seeking implementer feedback on this property and how interoperable it is.\r\rUsing an extension to record a codeableconcept for named values may be tested at a future connectathon.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ]
          },
          {
            "id": "Appointment.description",
            "path": "Appointment.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Appointment.supportingInformation",
            "path": "Appointment.supportingInformation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "Appointment.start",
            "path": "Appointment.start",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Appointment.end",
            "path": "Appointment.end",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Appointment.minutesDuration",
            "path": "Appointment.minutesDuration",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Appointment.slot",
            "path": "Appointment.slot",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Slot"
              }
            ]
          },
          {
            "id": "Appointment.created",
            "path": "Appointment.created",
            "comment": "This property is required for many use cases where the age of an appointment is considered in processing workflows for scheduling and billing of appointments.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Appointment.comment",
            "path": "Appointment.comment",
            "comment": "Additional text to aid in facilitating the appointment. For instance, a comment might be, \"patient should proceed immediately to infusion room upon arrival\"\r\rWhere this is a planned appointment and the start/end dates are not set then this field can be used to provide additional guidance on the details of the appointment request, including any restrictions on when to book it.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Appointment.incomingReferral",
            "path": "Appointment.incomingReferral",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ]
          },
          {
            "id": "Appointment.participant",
            "path": "Appointment.participant",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "app-1",
                "severity": "error",
                "human": "Either the type or actor on the participant SHALL be specified",
                "expression": "type.exists() or actor.exists()",
                "xpath": "(exists(f:type) or exists(f:actor))"
              }
            ]
          },
          {
            "id": "Appointment.participant.id",
            "path": "Appointment.participant.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Appointment.participant.extension",
            "path": "Appointment.participant.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Appointment.participant.modifierExtension",
            "path": "Appointment.participant.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Appointment.participant.type",
            "path": "Appointment.participant.type",
            "comment": "The role of the participant can be used to declare what the actor will be doing in the scope of this appointment.\r\rIf the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning.\r\rThis value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ParticipantType"
                }
              ],
              "strength": "extensible",
              "description": "Role of participant in encounter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-participant-type"
              }
            }
          },
          {
            "id": "Appointment.participant.actor",
            "path": "Appointment.participant.actor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Appointment.participant.required",
            "path": "Appointment.participant.required",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ParticipantRequired"
                }
              ],
              "strength": "required",
              "description": "Is the Participant required to attend the appointment.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/participantrequired"
              }
            }
          },
          {
            "id": "Appointment.participant.status",
            "path": "Appointment.participant.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ParticipationStatus"
                }
              ],
              "strength": "required",
              "description": "The Participation status of an appointment.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/participationstatus"
              }
            }
          },
          {
            "id": "Appointment.requestedPeriod",
            "path": "Appointment.requestedPeriod",
            "comment": "This does not introduce a capacity for recurring appointments.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Period"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Appointment",
            "path": "Appointment",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "app-3",
                "severity": "error",
                "human": "Only proposed or cancelled appointments can be missing start/end dates",
                "expression": "(start.exists() and end.exists()) or (status in ('proposed' | 'cancelled'))",
                "xpath": "((exists(f:start) and exists(f:end)) or (f:status/@value='proposed') or (f:status/@value='cancelled'))"
              },
              {
                "key": "app-2",
                "severity": "error",
                "human": "Either start and end are specified, or neither",
                "expression": "start.empty() xor end.exists()",
                "xpath": "((exists(f:start) and exists(f:end)) or (not(exists(f:start)) and not(exists(f:end))))"
              }
            ]
          },
          {
            "id": "Appointment.identifier",
            "path": "Appointment.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Appointment.status",
            "path": "Appointment.status",
            "comment": "If the Appointment's status is \"cancelled\" then all participants are expected to have their calendars released for the appointment period, and as such any Slots that were marked as BUSY can be re-set to FREE.\n\nThis element is labeled as a modifier because the status contains the code entered-in-error that mark the Appointment as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AppointmentStatus"
                }
              ],
              "strength": "required",
              "description": "The free/busy status of an appointment.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/appointmentstatus"
              }
            }
          },
          {
            "id": "Appointment.serviceCategory",
            "path": "Appointment.serviceCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-category"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-category"
              }
            }
          },
          {
            "id": "Appointment.serviceType",
            "path": "Appointment.serviceType",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-type"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-type"
              }
            }
          },
          {
            "id": "Appointment.specialty",
            "path": "Appointment.specialty",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "specialty"
                }
              ],
              "strength": "preferred",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "Appointment.appointmentType",
            "path": "Appointment.appointmentType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "appointment-type"
                }
              ],
              "strength": "preferred",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0276"
              }
            }
          },
          {
            "id": "Appointment.reason",
            "path": "Appointment.reason",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ApptReason"
                }
              ],
              "strength": "preferred",
              "description": "The Reason for the appointment to take place.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-reason"
              }
            }
          },
          {
            "id": "Appointment.indication",
            "path": "Appointment.indication",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ]
          },
          {
            "id": "Appointment.priority",
            "path": "Appointment.priority",
            "comment": "Seeking implementer feedback on this property and how interoperable it is.\r\rUsing an extension to record a codeableconcept for named values may be tested at a future connectathon.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ]
          },
          {
            "id": "Appointment.description",
            "path": "Appointment.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Appointment.supportingInformation",
            "path": "Appointment.supportingInformation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "Appointment.start",
            "path": "Appointment.start",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Appointment.end",
            "path": "Appointment.end",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Appointment.minutesDuration",
            "path": "Appointment.minutesDuration",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Appointment.slot",
            "path": "Appointment.slot",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Slot"
              }
            ]
          },
          {
            "id": "Appointment.created",
            "path": "Appointment.created",
            "comment": "This property is required for many use cases where the age of an appointment is considered in processing workflows for scheduling and billing of appointments.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Appointment.comment",
            "path": "Appointment.comment",
            "comment": "Additional text to aid in facilitating the appointment. For instance, a comment might be, \"patient should proceed immediately to infusion room upon arrival\"\r\rWhere this is a planned appointment and the start/end dates are not set then this field can be used to provide additional guidance on the details of the appointment request, including any restrictions on when to book it.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Appointment.incomingReferral",
            "path": "Appointment.incomingReferral",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ]
          },
          {
            "id": "Appointment.participant",
            "path": "Appointment.participant",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "app-1",
                "severity": "error",
                "human": "Either the type or actor on the participant SHALL be specified",
                "expression": "type.exists() or actor.exists()",
                "xpath": "(exists(f:type) or exists(f:actor))"
              }
            ]
          },
          {
            "id": "Appointment.participant.type",
            "path": "Appointment.participant.type",
            "comment": "The role of the participant can be used to declare what the actor will be doing in the scope of this appointment.\r\rIf the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning.\r\rThis value SHALL be the same when creating an AppointmentResponse so that they can be matched, and subsequently update the Appointment.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ParticipantType"
                }
              ],
              "strength": "extensible",
              "description": "Role of participant in encounter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-participant-type"
              }
            }
          },
          {
            "id": "Appointment.participant.actor",
            "path": "Appointment.participant.actor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Appointment.participant.required",
            "path": "Appointment.participant.required",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ParticipantRequired"
                }
              ],
              "strength": "required",
              "description": "Is the Participant required to attend the appointment.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/participantrequired"
              }
            }
          },
          {
            "id": "Appointment.participant.status",
            "path": "Appointment.participant.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ParticipationStatus"
                }
              ],
              "strength": "required",
              "description": "The Participation status of an appointment.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/participationstatus"
              }
            }
          },
          {
            "id": "Appointment.requestedPeriod",
            "path": "Appointment.requestedPeriod",
            "comment": "This does not introduce a capacity for recurring appointments.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Period"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/AppointmentResponse",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "AppointmentResponse",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/AppointmentResponse",
      "name": "AppointmentResponse",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "AppointmentResponse",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "AppointmentResponse",
            "path": "AppointmentResponse",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "apr-1",
                "severity": "error",
                "human": "Either the participantType or actor must be specified",
                "expression": "participantType.exists() or actor.exists()",
                "xpath": "(exists(f:participantType) or exists(f:actor))"
              }
            ]
          },
          {
            "id": "AppointmentResponse.id",
            "path": "AppointmentResponse.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AppointmentResponse.meta",
            "path": "AppointmentResponse.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AppointmentResponse.implicitRules",
            "path": "AppointmentResponse.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "AppointmentResponse.language",
            "path": "AppointmentResponse.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "AppointmentResponse.text",
            "path": "AppointmentResponse.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "AppointmentResponse.contained",
            "path": "AppointmentResponse.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "AppointmentResponse.extension",
            "path": "AppointmentResponse.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "AppointmentResponse.modifierExtension",
            "path": "AppointmentResponse.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "AppointmentResponse.identifier",
            "path": "AppointmentResponse.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AppointmentResponse.appointment",
            "path": "AppointmentResponse.appointment",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Appointment"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AppointmentResponse.start",
            "path": "AppointmentResponse.start",
            "comment": "This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the start time.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ]
          },
          {
            "id": "AppointmentResponse.end",
            "path": "AppointmentResponse.end",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ]
          },
          {
            "id": "AppointmentResponse.participantType",
            "path": "AppointmentResponse.participantType",
            "comment": "The role of the participant can be used to declare what the actor will be doing in the scope of the referenced appointment.\r\rIf the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning.\r\rThis value SHALL be the same as specified on the referenced Appointment so that they can be matched, and subsequently updated.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ParticipantType"
                }
              ],
              "strength": "extensible",
              "description": "Role of participant in encounter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-participant-type"
              }
            }
          },
          {
            "id": "AppointmentResponse.actor",
            "path": "AppointmentResponse.actor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AppointmentResponse.participantStatus",
            "path": "AppointmentResponse.participantStatus",
            "comment": "This element is labeled as a modifier because the status contains the code entered-in-error that marks the participant as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ParticipantStatus"
                }
              ],
              "strength": "required",
              "description": "The Participation status of an appointment.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/participationstatus"
              }
            }
          },
          {
            "id": "AppointmentResponse.comment",
            "path": "AppointmentResponse.comment",
            "comment": "This comment is particularly important when the responder is declining, tentatively accepting or requesting another time to indicate the reasons why.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "AppointmentResponse",
            "path": "AppointmentResponse",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "apr-1",
                "severity": "error",
                "human": "Either the participantType or actor must be specified",
                "expression": "participantType.exists() or actor.exists()",
                "xpath": "(exists(f:participantType) or exists(f:actor))"
              }
            ]
          },
          {
            "id": "AppointmentResponse.identifier",
            "path": "AppointmentResponse.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AppointmentResponse.appointment",
            "path": "AppointmentResponse.appointment",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Appointment"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AppointmentResponse.start",
            "path": "AppointmentResponse.start",
            "comment": "This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the start time.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ]
          },
          {
            "id": "AppointmentResponse.end",
            "path": "AppointmentResponse.end",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ]
          },
          {
            "id": "AppointmentResponse.participantType",
            "path": "AppointmentResponse.participantType",
            "comment": "The role of the participant can be used to declare what the actor will be doing in the scope of the referenced appointment.\r\rIf the actor is not specified, then it is expected that the actor will be filled in at a later stage of planning.\r\rThis value SHALL be the same as specified on the referenced Appointment so that they can be matched, and subsequently updated.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ParticipantType"
                }
              ],
              "strength": "extensible",
              "description": "Role of participant in encounter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-participant-type"
              }
            }
          },
          {
            "id": "AppointmentResponse.actor",
            "path": "AppointmentResponse.actor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AppointmentResponse.participantStatus",
            "path": "AppointmentResponse.participantStatus",
            "comment": "This element is labeled as a modifier because the status contains the code entered-in-error that marks the participant as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ParticipantStatus"
                }
              ],
              "strength": "required",
              "description": "The Participation status of an appointment.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/participationstatus"
              }
            }
          },
          {
            "id": "AppointmentResponse.comment",
            "path": "AppointmentResponse.comment",
            "comment": "This comment is particularly important when the responder is declining, tentatively accepting or requesting another time to indicate the reasons why.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/AuditEvent",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "AuditEvent",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "sec"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/AuditEvent",
      "name": "AuditEvent",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "AuditEvent",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "AuditEvent",
            "path": "AuditEvent",
            "comment": "Based on ATNA (RFC 3881).",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "AuditEvent.id",
            "path": "AuditEvent.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.meta",
            "path": "AuditEvent.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.implicitRules",
            "path": "AuditEvent.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "AuditEvent.language",
            "path": "AuditEvent.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "AuditEvent.text",
            "path": "AuditEvent.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "AuditEvent.contained",
            "path": "AuditEvent.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "AuditEvent.extension",
            "path": "AuditEvent.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "AuditEvent.modifierExtension",
            "path": "AuditEvent.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "AuditEvent.type",
            "path": "AuditEvent.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventType"
                }
              ],
              "strength": "extensible",
              "description": "Type of event.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/audit-event-type"
              }
            }
          },
          {
            "id": "AuditEvent.subtype",
            "path": "AuditEvent.subtype",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventSubType"
                }
              ],
              "strength": "extensible",
              "description": "Sub-type of event.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/audit-event-sub-type"
              }
            }
          },
          {
            "id": "AuditEvent.action",
            "path": "AuditEvent.action",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventAction"
                }
              ],
              "strength": "required",
              "description": "Indicator for type of action performed during the event that generated the event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/audit-event-action"
              }
            }
          },
          {
            "id": "AuditEvent.recorded",
            "path": "AuditEvent.recorded",
            "comment": "In a distributed system, some sort of common time base (e.g. an NTP [RFC1305] server) is a good implementation tactic.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.outcome",
            "path": "AuditEvent.outcome",
            "comment": "In some cases a \"success\" may be partial, for example, an incomplete or interrupted transfer of a radiological study. For the purpose of establishing accountability, these distinctions are not relevant.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventOutcome"
                }
              ],
              "strength": "required",
              "description": "Indicates whether the event succeeded or failed",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/audit-event-outcome"
              }
            }
          },
          {
            "id": "AuditEvent.outcomeDesc",
            "path": "AuditEvent.outcomeDesc",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.purposeOfEvent",
            "path": "AuditEvent.purposeOfEvent",
            "comment": "Use AuditEvent.agent.purposeOfUse when you know that it is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditPurposeOfUse"
                }
              ],
              "strength": "extensible",
              "description": "The reason the activity took place.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "AuditEvent.agent",
            "path": "AuditEvent.agent",
            "comment": "Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity.\n\nFor example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.id",
            "path": "AuditEvent.agent.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.extension",
            "path": "AuditEvent.agent.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.modifierExtension",
            "path": "AuditEvent.agent.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "AuditEvent.agent.role",
            "path": "AuditEvent.agent.role",
            "comment": "Should be roles relevant to the event. Should  not be an exhaustive list of roles.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditAgentRole"
                }
              ],
              "strength": "extensible",
              "description": "What security role enabled the agent to participate in the event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-role-type"
              }
            }
          },
          {
            "id": "AuditEvent.agent.reference",
            "path": "AuditEvent.agent.reference",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.agent.userId",
            "path": "AuditEvent.agent.userId",
            "comment": "A unique value within the Audit Source ID. For node-based authentication -- where only the system hardware or process, but not a human user, is identified -- User ID would be the node name.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.agent.altId",
            "path": "AuditEvent.agent.altId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.name",
            "path": "AuditEvent.agent.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.requestor",
            "path": "AuditEvent.agent.requestor",
            "comment": "There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.location",
            "path": "AuditEvent.agent.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.policy",
            "path": "AuditEvent.agent.policy",
            "comment": "For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.media",
            "path": "AuditEvent.agent.media",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DICOMMediaType"
                }
              ],
              "strength": "extensible",
              "description": "Used when the event is about exporting/importing onto media.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/dicm-405-mediatype"
              }
            }
          },
          {
            "id": "AuditEvent.agent.network",
            "path": "AuditEvent.agent.network",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.network.id",
            "path": "AuditEvent.agent.network.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.network.extension",
            "path": "AuditEvent.agent.network.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.network.modifierExtension",
            "path": "AuditEvent.agent.network.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "AuditEvent.agent.network.address",
            "path": "AuditEvent.agent.network.address",
            "comment": "This could be a device id, IP address or some other identifier associated with a device.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.network.type",
            "path": "AuditEvent.agent.network.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventAgentNetworkType"
                }
              ],
              "strength": "required",
              "description": "The type of network access point of this agent in the audit event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/network-type"
              }
            }
          },
          {
            "id": "AuditEvent.agent.purposeOfUse",
            "path": "AuditEvent.agent.purposeOfUse",
            "comment": "Use AuditEvent.agent.purposeOfUse when you know that is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditPurposeOfUse"
                }
              ],
              "strength": "extensible",
              "description": "The reason the activity took place.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "AuditEvent.source",
            "path": "AuditEvent.source",
            "comment": "Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "AuditEvent.source.id",
            "path": "AuditEvent.source.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.source.extension",
            "path": "AuditEvent.source.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "AuditEvent.source.modifierExtension",
            "path": "AuditEvent.source.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "AuditEvent.source.site",
            "path": "AuditEvent.source.site",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.source.identifier",
            "path": "AuditEvent.source.identifier",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.source.type",
            "path": "AuditEvent.source.type",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventSourceType"
                }
              ],
              "strength": "extensible",
              "description": "Code specifying the type of system that detected and recorded the event.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/audit-source-type"
              }
            }
          },
          {
            "id": "AuditEvent.entity",
            "path": "AuditEvent.entity",
            "comment": "Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "sev-1",
                "severity": "error",
                "human": "Either a name or a query (NOT both)",
                "expression": "name.empty() or query.empty()",
                "xpath": "not(exists(f:name)) or not(exists(f:query))"
              }
            ]
          },
          {
            "id": "AuditEvent.entity.id",
            "path": "AuditEvent.entity.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.entity.extension",
            "path": "AuditEvent.entity.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "AuditEvent.entity.modifierExtension",
            "path": "AuditEvent.entity.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "AuditEvent.entity.identifier",
            "path": "AuditEvent.entity.identifier",
            "comment": "Identifier detail depends on entity type.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.entity.reference",
            "path": "AuditEvent.entity.reference",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.entity.type",
            "path": "AuditEvent.entity.type",
            "comment": "This value is distinct from the user's role or any user relationship to the entity.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventEntityType"
                }
              ],
              "strength": "extensible",
              "description": "Code for the entity type involved in the audit event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/audit-entity-type"
              }
            }
          },
          {
            "id": "AuditEvent.entity.role",
            "path": "AuditEvent.entity.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventEntityRole"
                }
              ],
              "strength": "extensible",
              "description": "Code representing the role the entity played in the audit event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/object-role"
              }
            }
          },
          {
            "id": "AuditEvent.entity.lifecycle",
            "path": "AuditEvent.entity.lifecycle",
            "comment": "This can be used to provide an audit trail for data, over time, as it passes through the system.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventEntityLifecycle"
                }
              ],
              "strength": "extensible",
              "description": "Identifier for the data life-cycle stage for the entity",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/object-lifecycle-events"
              }
            }
          },
          {
            "id": "AuditEvent.entity.securityLabel",
            "path": "AuditEvent.entity.securityLabel",
            "comment": "Copied from entity meta security tags.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SecurityLabels"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-labels"
              }
            }
          },
          {
            "id": "AuditEvent.entity.name",
            "path": "AuditEvent.entity.name",
            "comment": "This field may be used in a query/report to identify audit events for a specific person.  For example, where multiple synonymous entity identifiers (patient number, medical record number, encounter number, etc.) have been used.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "sev-1"
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.entity.description",
            "path": "AuditEvent.entity.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.entity.query",
            "path": "AuditEvent.entity.query",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              }
            ],
            "condition": [
              "sev-1"
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.entity.detail",
            "path": "AuditEvent.entity.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "AuditEvent.entity.detail.id",
            "path": "AuditEvent.entity.detail.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.entity.detail.extension",
            "path": "AuditEvent.entity.detail.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "AuditEvent.entity.detail.modifierExtension",
            "path": "AuditEvent.entity.detail.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "AuditEvent.entity.detail.type",
            "path": "AuditEvent.entity.detail.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.entity.detail.value",
            "path": "AuditEvent.entity.detail.value",
            "comment": "The value is base64 encoded to enable various encodings or binary content.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "AuditEvent",
            "path": "AuditEvent",
            "comment": "Based on ATNA (RFC 3881).",
            "min": 0,
            "max": "*"
          },
          {
            "id": "AuditEvent.type",
            "path": "AuditEvent.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventType"
                }
              ],
              "strength": "extensible",
              "description": "Type of event.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/audit-event-type"
              }
            }
          },
          {
            "id": "AuditEvent.subtype",
            "path": "AuditEvent.subtype",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventSubType"
                }
              ],
              "strength": "extensible",
              "description": "Sub-type of event.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/audit-event-sub-type"
              }
            }
          },
          {
            "id": "AuditEvent.action",
            "path": "AuditEvent.action",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventAction"
                }
              ],
              "strength": "required",
              "description": "Indicator for type of action performed during the event that generated the event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/audit-event-action"
              }
            }
          },
          {
            "id": "AuditEvent.recorded",
            "path": "AuditEvent.recorded",
            "comment": "In a distributed system, some sort of common time base (e.g. an NTP [RFC1305] server) is a good implementation tactic.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.outcome",
            "path": "AuditEvent.outcome",
            "comment": "In some cases a \"success\" may be partial, for example, an incomplete or interrupted transfer of a radiological study. For the purpose of establishing accountability, these distinctions are not relevant.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventOutcome"
                }
              ],
              "strength": "required",
              "description": "Indicates whether the event succeeded or failed",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/audit-event-outcome"
              }
            }
          },
          {
            "id": "AuditEvent.outcomeDesc",
            "path": "AuditEvent.outcomeDesc",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.purposeOfEvent",
            "path": "AuditEvent.purposeOfEvent",
            "comment": "Use AuditEvent.agent.purposeOfUse when you know that it is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditPurposeOfUse"
                }
              ],
              "strength": "extensible",
              "description": "The reason the activity took place.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "AuditEvent.agent",
            "path": "AuditEvent.agent",
            "comment": "Several agents may be associated (i.e. have some responsibility for an activity) with an event or activity.\n\nFor example, an activity may be initiated by one user for other users or involve more than one user. However, only one user may be the initiator/requestor for the activity.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.role",
            "path": "AuditEvent.agent.role",
            "comment": "Should be roles relevant to the event. Should  not be an exhaustive list of roles.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditAgentRole"
                }
              ],
              "strength": "extensible",
              "description": "What security role enabled the agent to participate in the event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-role-type"
              }
            }
          },
          {
            "id": "AuditEvent.agent.reference",
            "path": "AuditEvent.agent.reference",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.agent.userId",
            "path": "AuditEvent.agent.userId",
            "comment": "A unique value within the Audit Source ID. For node-based authentication -- where only the system hardware or process, but not a human user, is identified -- User ID would be the node name.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.agent.altId",
            "path": "AuditEvent.agent.altId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.name",
            "path": "AuditEvent.agent.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.requestor",
            "path": "AuditEvent.agent.requestor",
            "comment": "There can only be one initiator. If the initiator is not clear, then do not choose any one agent as the initiator.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.location",
            "path": "AuditEvent.agent.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.policy",
            "path": "AuditEvent.agent.policy",
            "comment": "For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.media",
            "path": "AuditEvent.agent.media",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DICOMMediaType"
                }
              ],
              "strength": "extensible",
              "description": "Used when the event is about exporting/importing onto media.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/dicm-405-mediatype"
              }
            }
          },
          {
            "id": "AuditEvent.agent.network",
            "path": "AuditEvent.agent.network",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.network.address",
            "path": "AuditEvent.agent.network.address",
            "comment": "This could be a device id, IP address or some other identifier associated with a device.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.agent.network.type",
            "path": "AuditEvent.agent.network.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventAgentNetworkType"
                }
              ],
              "strength": "required",
              "description": "The type of network access point of this agent in the audit event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/network-type"
              }
            }
          },
          {
            "id": "AuditEvent.agent.purposeOfUse",
            "path": "AuditEvent.agent.purposeOfUse",
            "comment": "Use AuditEvent.agent.purposeOfUse when you know that is specific to the agent, otherwise use AuditEvent.purposeOfEvent. For example, during a machine-to-machine transfer it might not be obvious to the audit system who caused the event, but it does know why.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditPurposeOfUse"
                }
              ],
              "strength": "extensible",
              "description": "The reason the activity took place.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "AuditEvent.source",
            "path": "AuditEvent.source",
            "comment": "Since multi-tier, distributed, or composite applications make source identification ambiguous, this collection of fields may repeat for each application or process actively involved in the event. For example, multiple value-sets can identify participating web servers, application processes, and database server threads in an n-tier distributed application. Passive event participants (e.g. low-level network transports) need not be identified.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "AuditEvent.source.site",
            "path": "AuditEvent.source.site",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.source.identifier",
            "path": "AuditEvent.source.identifier",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.source.type",
            "path": "AuditEvent.source.type",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventSourceType"
                }
              ],
              "strength": "extensible",
              "description": "Code specifying the type of system that detected and recorded the event.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/audit-source-type"
              }
            }
          },
          {
            "id": "AuditEvent.entity",
            "path": "AuditEvent.entity",
            "comment": "Required unless the values for event identification, agent identification, and audit source identification are sufficient to document the entire auditable event. Because events may have more than one entity, this group can be a repeating set of values.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "sev-1",
                "severity": "error",
                "human": "Either a name or a query (NOT both)",
                "expression": "name.empty() or query.empty()",
                "xpath": "not(exists(f:name)) or not(exists(f:query))"
              }
            ]
          },
          {
            "id": "AuditEvent.entity.identifier",
            "path": "AuditEvent.entity.identifier",
            "comment": "Identifier detail depends on entity type.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.entity.reference",
            "path": "AuditEvent.entity.reference",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.entity.type",
            "path": "AuditEvent.entity.type",
            "comment": "This value is distinct from the user's role or any user relationship to the entity.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventEntityType"
                }
              ],
              "strength": "extensible",
              "description": "Code for the entity type involved in the audit event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/audit-entity-type"
              }
            }
          },
          {
            "id": "AuditEvent.entity.role",
            "path": "AuditEvent.entity.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventEntityRole"
                }
              ],
              "strength": "extensible",
              "description": "Code representing the role the entity played in the audit event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/object-role"
              }
            }
          },
          {
            "id": "AuditEvent.entity.lifecycle",
            "path": "AuditEvent.entity.lifecycle",
            "comment": "This can be used to provide an audit trail for data, over time, as it passes through the system.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AuditEventEntityLifecycle"
                }
              ],
              "strength": "extensible",
              "description": "Identifier for the data life-cycle stage for the entity",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/object-lifecycle-events"
              }
            }
          },
          {
            "id": "AuditEvent.entity.securityLabel",
            "path": "AuditEvent.entity.securityLabel",
            "comment": "Copied from entity meta security tags.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SecurityLabels"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-labels"
              }
            }
          },
          {
            "id": "AuditEvent.entity.name",
            "path": "AuditEvent.entity.name",
            "comment": "This field may be used in a query/report to identify audit events for a specific person.  For example, where multiple synonymous entity identifiers (patient number, medical record number, encounter number, etc.) have been used.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "sev-1"
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.entity.description",
            "path": "AuditEvent.entity.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.entity.query",
            "path": "AuditEvent.entity.query",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              }
            ],
            "condition": [
              "sev-1"
            ],
            "isSummary": true
          },
          {
            "id": "AuditEvent.entity.detail",
            "path": "AuditEvent.entity.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "AuditEvent.entity.detail.type",
            "path": "AuditEvent.entity.detail.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "AuditEvent.entity.detail.value",
            "path": "AuditEvent.entity.detail.value",
            "comment": "The value is base64 encoded to enable various encodings or binary content.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Basic",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Basic",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Basic",
      "name": "Basic",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "Need some way to safely (without breaking interoperability) allow implementers to exchange content not supported by the initial set of declared resources.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Basic",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Basic",
            "path": "Basic",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Basic.id",
            "path": "Basic.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Basic.meta",
            "path": "Basic.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Basic.implicitRules",
            "path": "Basic.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Basic.language",
            "path": "Basic.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Basic.text",
            "path": "Basic.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Basic.contained",
            "path": "Basic.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Basic.extension",
            "path": "Basic.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Basic.modifierExtension",
            "path": "Basic.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Basic.identifier",
            "path": "Basic.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Basic.code",
            "path": "Basic.code",
            "comment": "Because resource references will only be able to indicate 'Basic', the type of reference will need to be specified in a Profile identified as part of the resource.  Refer to the resource notes section for information on appropriate terminologies for this code.\n\nThis element is labeled as a modifier because the it defines the meaning of the resource and cannot be ignored.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BasicResourceType"
                }
              ],
              "strength": "example",
              "description": "Codes for identifying types of resources not yet defined by FHIR",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/basic-resource-type"
              }
            }
          },
          {
            "id": "Basic.subject",
            "path": "Basic.subject",
            "comment": "Optional as not all potential resources will have subjects.  Resources associated with multiple subjects can handle this via extension.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Basic.created",
            "path": "Basic.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Basic.author",
            "path": "Basic.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Basic",
            "path": "Basic",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Basic.identifier",
            "path": "Basic.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Basic.code",
            "path": "Basic.code",
            "comment": "Because resource references will only be able to indicate 'Basic', the type of reference will need to be specified in a Profile identified as part of the resource.  Refer to the resource notes section for information on appropriate terminologies for this code.\n\nThis element is labeled as a modifier because the it defines the meaning of the resource and cannot be ignored.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BasicResourceType"
                }
              ],
              "strength": "example",
              "description": "Codes for identifying types of resources not yet defined by FHIR",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/basic-resource-type"
              }
            }
          },
          {
            "id": "Basic.subject",
            "path": "Basic.subject",
            "comment": "Optional as not all potential resources will have subjects.  Resources associated with multiple subjects can handle this via extension.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Basic.created",
            "path": "Basic.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Basic.author",
            "path": "Basic.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Binary",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Binary",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 5
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Binary",
      "name": "Binary",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "There are situations where it is useful or required to handle pure binary content using the same framework as other resources.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Binary",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Resource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Binary",
            "path": "Binary",
            "comment": "Typically, Binary resources are used for handling content such as:  * CDA Documents (i.e. with XDS) * PDF Documents * Images (the Media resource is preferred for handling images, but not possible when the content is already binary - e.g. XDS).",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Binary.id",
            "path": "Binary.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Binary.meta",
            "path": "Binary.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Binary.implicitRules",
            "path": "Binary.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Binary.language",
            "path": "Binary.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Binary.contentType",
            "path": "Binary.contentType",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MimeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The mime type of an attachment. Any valid mime type is allowed.",
              "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
            }
          },
          {
            "id": "Binary.securityContext",
            "path": "Binary.securityContext",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Binary.content",
            "path": "Binary.content",
            "comment": "If the content type is itself base64 encoding, then this will be base64 encoded twice - what is created by un-base64ing the content must be the specified content type.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Binary",
            "path": "Binary",
            "comment": "Typically, Binary resources are used for handling content such as:  * CDA Documents (i.e. with XDS) * PDF Documents * Images (the Media resource is preferred for handling images, but not possible when the content is already binary - e.g. XDS).",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Binary.contentType",
            "path": "Binary.contentType",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MimeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The mime type of an attachment. Any valid mime type is allowed.",
              "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
            }
          },
          {
            "id": "Binary.securityContext",
            "path": "Binary.securityContext",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Binary.content",
            "path": "Binary.content",
            "comment": "If the content type is itself base64 encoding, then this will be base64 encoded twice - what is created by un-base64ing the content must be the specified content type.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/BodySite",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "BodySite",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/BodySite",
      "name": "BodySite",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "BodySite",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "BodySite",
            "path": "BodySite",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "BodySite.id",
            "path": "BodySite.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "BodySite.meta",
            "path": "BodySite.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "BodySite.implicitRules",
            "path": "BodySite.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "BodySite.language",
            "path": "BodySite.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "BodySite.text",
            "path": "BodySite.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "BodySite.contained",
            "path": "BodySite.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "BodySite.extension",
            "path": "BodySite.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "BodySite.modifierExtension",
            "path": "BodySite.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "BodySite.identifier",
            "path": "BodySite.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "BodySite.active",
            "path": "BodySite.active",
            "comment": "This element is labeled as a modifier because it may be used to mark that the resource was created in error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "BodySite.code",
            "path": "BodySite.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "BodySite.qualifier",
            "path": "BodySite.qualifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySiteQualifier"
                }
              ],
              "strength": "example",
              "description": "Concepts modifying the anatomic location",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/bodysite-relative-location"
              }
            }
          },
          {
            "id": "BodySite.description",
            "path": "BodySite.description",
            "comment": "This description could include any visual markings used to orientate the viewer e.g. external reference points, special sutures, ink markings.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "BodySite.image",
            "path": "BodySite.image",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          },
          {
            "id": "BodySite.patient",
            "path": "BodySite.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "BodySite",
            "path": "BodySite",
            "min": 0,
            "max": "*"
          },
          {
            "id": "BodySite.identifier",
            "path": "BodySite.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "BodySite.active",
            "path": "BodySite.active",
            "comment": "This element is labeled as a modifier because it may be used to mark that the resource was created in error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "BodySite.code",
            "path": "BodySite.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "BodySite.qualifier",
            "path": "BodySite.qualifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySiteQualifier"
                }
              ],
              "strength": "example",
              "description": "Concepts modifying the anatomic location",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/bodysite-relative-location"
              }
            }
          },
          {
            "id": "BodySite.description",
            "path": "BodySite.description",
            "comment": "This description could include any visual markings used to orientate the viewer e.g. external reference points, special sutures, ink markings.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "BodySite.image",
            "path": "BodySite.image",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          },
          {
            "id": "BodySite.patient",
            "path": "BodySite.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Bundle",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Bundle",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 5
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Bundle",
      "name": "Bundle",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Bundle",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Resource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Bundle",
            "path": "Bundle",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "bdl-7",
                "severity": "error",
                "human": "FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId",
                "expression": "entry.where(fullUrl).select(fullUrl&resource.meta.versionId).isDistinct()",
                "xpath": "count(for $entry in f:entry[f:resource] return $entry[count(parent::f:Bundle/f:entry[f:fullUrl/@value=$entry/f:fullUrl/@value and ((not(f:resource/*/f:meta/f:versionId/@value) and not($entry/f:resource/*/f:meta/f:versionId/@value)) or f:resource/*/f:meta/f:versionId/@value=$entry/f:resource/*/f:meta/f:versionId/@value)])!=1])=0"
              },
              {
                "key": "bdl-9",
                "severity": "error",
                "human": "A document must have an identifier with a system and a value",
                "expression": "type = 'document' implies (identifier.system.exists() and identifier.value.exists())",
                "xpath": "not(f:type/@value = 'document') or exists(f:identifier/f:system) or exists(f:identifier/f:value)"
              },
              {
                "key": "bdl-3",
                "severity": "error",
                "human": "entry.request only for some types of bundles",
                "expression": "entry.request.empty() or type = 'batch' or type = 'transaction' or type = 'history'",
                "xpath": "not(f:entry/f:request) or (f:type/@value = 'batch') or (f:type/@value = 'transaction') or (f:type/@value = 'history')"
              },
              {
                "key": "bdl-4",
                "severity": "error",
                "human": "entry.response only for some types of bundles",
                "expression": "entry.response.empty() or type = 'batch-response' or type = 'transaction-response'",
                "xpath": "not(f:entry/f:response) or (f:type/@value = 'batch-response') or (f:type/@value = 'transaction-response')"
              },
              {
                "key": "bdl-1",
                "severity": "error",
                "human": "total only when a search or history",
                "expression": "total.empty() or (type = 'searchset') or (type = 'history')",
                "xpath": "not(f:total) or (f:type/@value = 'searchset') or (f:type/@value = 'history')"
              },
              {
                "key": "bdl-2",
                "severity": "error",
                "human": "entry.search only when a search",
                "expression": "entry.search.empty() or (type = 'searchset')",
                "xpath": "not(f:entry/f:search) or (f:type/@value = 'searchset')"
              }
            ]
          },
          {
            "id": "Bundle.id",
            "path": "Bundle.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.meta",
            "path": "Bundle.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.implicitRules",
            "path": "Bundle.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Bundle.language",
            "path": "Bundle.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Bundle.identifier",
            "path": "Bundle.identifier",
            "comment": "Persistent identity generally only matters for batches of type Document, Message, and Collection. It would not normally be populated for search and history results, and servers ignore Bundle.identifier when processing batches and transactions. For Documents  the .identifier SHALL be populated such that the .identifier is globally unique.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.type",
            "path": "Bundle.type",
            "comment": "It's possible to use a bundle for other purposes (e.g. a document can be accepted as a transaction). This is primarily defined so that there can be specific rules for some of the bundle types.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BundleType"
                }
              ],
              "strength": "required",
              "description": "Indicates the purpose of a bundle - how it was intended to be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/bundle-type"
              }
            }
          },
          {
            "id": "Bundle.total",
            "path": "Bundle.total",
            "comment": "Only used if the bundle is a search result set. The total does not include resources such as OperationOutcome and included resources, only the total number of matching resources.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "condition": [
              "bdl-1"
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.link",
            "path": "Bundle.link",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.link.id",
            "path": "Bundle.link.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Bundle.link.extension",
            "path": "Bundle.link.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Bundle.link.modifierExtension",
            "path": "Bundle.link.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Bundle.link.relation",
            "path": "Bundle.link.relation",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.link.url",
            "path": "Bundle.link.url",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry",
            "path": "Bundle.entry",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "bdl-8",
                "severity": "error",
                "human": "fullUrl cannot be a version specific reference",
                "expression": "fullUrl.contains('/_history/').not()",
                "xpath": "not(exists(f:fullUrl[contains(string(@value), '/_history/')]))"
              },
              {
                "key": "bdl-5",
                "severity": "error",
                "human": "must be a resource unless there's a request or response",
                "expression": "resource.exists() or request.exists() or response.exists()",
                "xpath": "exists(f:resource) or exists(f:request) or exists(f:response)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.id",
            "path": "Bundle.entry.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Bundle.entry.extension",
            "path": "Bundle.entry.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Bundle.entry.modifierExtension",
            "path": "Bundle.entry.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Bundle.entry.link",
            "path": "Bundle.entry.link",
            "min": 0,
            "max": "*",
            "contentReference": "#Bundle.link",
            "isSummary": true
          },
          {
            "id": "Bundle.entry.fullUrl",
            "path": "Bundle.entry.fullUrl",
            "comment": "fullUrl may not be [unique in the context of a resource](bundle.html#bundle-unique). Note that since [FHIR resources do not need to be served through the FHIR API](references.html), the absolute URL may not end with the logical id of the resource (Resource.id), but if the fullUrl does look like a RESTful server URL (e.g. meets the [regex](references.html#regex), then it SHALL end with the Resource.id.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.resource",
            "path": "Bundle.entry.resource",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.search",
            "path": "Bundle.entry.search",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "bdl-2"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.search.id",
            "path": "Bundle.entry.search.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Bundle.entry.search.extension",
            "path": "Bundle.entry.search.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Bundle.entry.search.modifierExtension",
            "path": "Bundle.entry.search.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Bundle.entry.search.mode",
            "path": "Bundle.entry.search.mode",
            "comment": "There is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SearchEntryMode"
                }
              ],
              "strength": "required",
              "description": "Why an entry is in the result set - whether it's included as a match or because of an _include requirement.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-entry-mode"
              }
            }
          },
          {
            "id": "Bundle.entry.search.score",
            "path": "Bundle.entry.search.score",
            "comment": "Servers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request",
            "path": "Bundle.entry.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "bdl-3"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request.id",
            "path": "Bundle.entry.request.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Bundle.entry.request.extension",
            "path": "Bundle.entry.request.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Bundle.entry.request.modifierExtension",
            "path": "Bundle.entry.request.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request.method",
            "path": "Bundle.entry.request.method",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "HTTPVerb"
                }
              ],
              "strength": "required",
              "description": "HTTP verbs (in the HTTP command line).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/http-verb"
              }
            }
          },
          {
            "id": "Bundle.entry.request.url",
            "path": "Bundle.entry.request.url",
            "comment": "E.g. for a Patient Create, the method would be \"POST\" and the URL would be \"Patient\". For a Patient Update, the method would be PUT, and the URL would be \"Patient/[id]\".",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request.ifNoneMatch",
            "path": "Bundle.entry.request.ifNoneMatch",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request.ifModifiedSince",
            "path": "Bundle.entry.request.ifModifiedSince",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request.ifMatch",
            "path": "Bundle.entry.request.ifMatch",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request.ifNoneExist",
            "path": "Bundle.entry.request.ifNoneExist",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response",
            "path": "Bundle.entry.response",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "bdl-4"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response.id",
            "path": "Bundle.entry.response.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Bundle.entry.response.extension",
            "path": "Bundle.entry.response.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Bundle.entry.response.modifierExtension",
            "path": "Bundle.entry.response.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response.status",
            "path": "Bundle.entry.response.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response.location",
            "path": "Bundle.entry.response.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response.etag",
            "path": "Bundle.entry.response.etag",
            "comment": "Etags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response.lastModified",
            "path": "Bundle.entry.response.lastModified",
            "comment": "This has to match the same time in the meta header if a resource is included.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response.outcome",
            "path": "Bundle.entry.response.outcome",
            "comment": "For a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.signature",
            "path": "Bundle.signature",
            "comment": "The signature could be created by the \"author\" of the bundle or by the originating device.   Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Signature"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Bundle",
            "path": "Bundle",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "bdl-7",
                "severity": "error",
                "human": "FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId",
                "expression": "entry.where(fullUrl).select(fullUrl&resource.meta.versionId).isDistinct()",
                "xpath": "count(for $entry in f:entry[f:resource] return $entry[count(parent::f:Bundle/f:entry[f:fullUrl/@value=$entry/f:fullUrl/@value and ((not(f:resource/*/f:meta/f:versionId/@value) and not($entry/f:resource/*/f:meta/f:versionId/@value)) or f:resource/*/f:meta/f:versionId/@value=$entry/f:resource/*/f:meta/f:versionId/@value)])!=1])=0"
              },
              {
                "key": "bdl-9",
                "severity": "error",
                "human": "A document must have an identifier with a system and a value",
                "expression": "type = 'document' implies (identifier.system.exists() and identifier.value.exists())",
                "xpath": "not(f:type/@value = 'document') or exists(f:identifier/f:system) or exists(f:identifier/f:value)"
              },
              {
                "key": "bdl-3",
                "severity": "error",
                "human": "entry.request only for some types of bundles",
                "expression": "entry.request.empty() or type = 'batch' or type = 'transaction' or type = 'history'",
                "xpath": "not(f:entry/f:request) or (f:type/@value = 'batch') or (f:type/@value = 'transaction') or (f:type/@value = 'history')"
              },
              {
                "key": "bdl-4",
                "severity": "error",
                "human": "entry.response only for some types of bundles",
                "expression": "entry.response.empty() or type = 'batch-response' or type = 'transaction-response'",
                "xpath": "not(f:entry/f:response) or (f:type/@value = 'batch-response') or (f:type/@value = 'transaction-response')"
              },
              {
                "key": "bdl-1",
                "severity": "error",
                "human": "total only when a search or history",
                "expression": "total.empty() or (type = 'searchset') or (type = 'history')",
                "xpath": "not(f:total) or (f:type/@value = 'searchset') or (f:type/@value = 'history')"
              },
              {
                "key": "bdl-2",
                "severity": "error",
                "human": "entry.search only when a search",
                "expression": "entry.search.empty() or (type = 'searchset')",
                "xpath": "not(f:entry/f:search) or (f:type/@value = 'searchset')"
              }
            ]
          },
          {
            "id": "Bundle.identifier",
            "path": "Bundle.identifier",
            "comment": "Persistent identity generally only matters for batches of type Document, Message, and Collection. It would not normally be populated for search and history results, and servers ignore Bundle.identifier when processing batches and transactions. For Documents  the .identifier SHALL be populated such that the .identifier is globally unique.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.type",
            "path": "Bundle.type",
            "comment": "It's possible to use a bundle for other purposes (e.g. a document can be accepted as a transaction). This is primarily defined so that there can be specific rules for some of the bundle types.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BundleType"
                }
              ],
              "strength": "required",
              "description": "Indicates the purpose of a bundle - how it was intended to be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/bundle-type"
              }
            }
          },
          {
            "id": "Bundle.total",
            "path": "Bundle.total",
            "comment": "Only used if the bundle is a search result set. The total does not include resources such as OperationOutcome and included resources, only the total number of matching resources.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "condition": [
              "bdl-1"
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.link",
            "path": "Bundle.link",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.link.relation",
            "path": "Bundle.link.relation",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.link.url",
            "path": "Bundle.link.url",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry",
            "path": "Bundle.entry",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "bdl-8",
                "severity": "error",
                "human": "fullUrl cannot be a version specific reference",
                "expression": "fullUrl.contains('/_history/').not()",
                "xpath": "not(exists(f:fullUrl[contains(string(@value), '/_history/')]))"
              },
              {
                "key": "bdl-5",
                "severity": "error",
                "human": "must be a resource unless there's a request or response",
                "expression": "resource.exists() or request.exists() or response.exists()",
                "xpath": "exists(f:resource) or exists(f:request) or exists(f:response)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.link",
            "path": "Bundle.entry.link",
            "min": 0,
            "max": "*",
            "contentReference": "#Bundle.link",
            "isSummary": true
          },
          {
            "id": "Bundle.entry.fullUrl",
            "path": "Bundle.entry.fullUrl",
            "comment": "fullUrl may not be [unique in the context of a resource](bundle.html#bundle-unique). Note that since [FHIR resources do not need to be served through the FHIR API](references.html), the absolute URL may not end with the logical id of the resource (Resource.id), but if the fullUrl does look like a RESTful server URL (e.g. meets the [regex](references.html#regex), then it SHALL end with the Resource.id.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.resource",
            "path": "Bundle.entry.resource",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.search",
            "path": "Bundle.entry.search",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "bdl-2"
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.search.mode",
            "path": "Bundle.entry.search.mode",
            "comment": "There is only one mode. In some corner cases, a resource may be included because it is both a match and an include. In these circumstances, 'match' takes precedence.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SearchEntryMode"
                }
              ],
              "strength": "required",
              "description": "Why an entry is in the result set - whether it's included as a match or because of an _include requirement.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-entry-mode"
              }
            }
          },
          {
            "id": "Bundle.entry.search.score",
            "path": "Bundle.entry.search.score",
            "comment": "Servers are not required to return a ranking score. 1 is most relevant, and 0 is least relevant. Often, search results are sorted by score, but the client may specify a different sort order.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request",
            "path": "Bundle.entry.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "bdl-3"
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request.method",
            "path": "Bundle.entry.request.method",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "HTTPVerb"
                }
              ],
              "strength": "required",
              "description": "HTTP verbs (in the HTTP command line).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/http-verb"
              }
            }
          },
          {
            "id": "Bundle.entry.request.url",
            "path": "Bundle.entry.request.url",
            "comment": "E.g. for a Patient Create, the method would be \"POST\" and the URL would be \"Patient\". For a Patient Update, the method would be PUT, and the URL would be \"Patient/[id]\".",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request.ifNoneMatch",
            "path": "Bundle.entry.request.ifNoneMatch",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request.ifModifiedSince",
            "path": "Bundle.entry.request.ifModifiedSince",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request.ifMatch",
            "path": "Bundle.entry.request.ifMatch",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.request.ifNoneExist",
            "path": "Bundle.entry.request.ifNoneExist",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response",
            "path": "Bundle.entry.response",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "bdl-4"
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response.status",
            "path": "Bundle.entry.response.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response.location",
            "path": "Bundle.entry.response.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response.etag",
            "path": "Bundle.entry.response.etag",
            "comment": "Etags match the Resource.meta.versionId. The ETag has to match the version id in the header if a resource is included.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response.lastModified",
            "path": "Bundle.entry.response.lastModified",
            "comment": "This has to match the same time in the meta header if a resource is included.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.entry.response.outcome",
            "path": "Bundle.entry.response.outcome",
            "comment": "For a POST/PUT operation, this is the equivalent outcome that would be returned for prefer = operationoutcome - except that the resource is always returned whether or not the outcome is returned.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Bundle.signature",
            "path": "Bundle.signature",
            "comment": "The signature could be created by the \"author\" of the bundle or by the originating device.   Requirements around inclusion of a signature, verification of signatures and treatment of signed/non-signed bundles is implementation-environment specific.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Signature"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/CapabilityStatement",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "CapabilityStatement",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/CapabilityStatement",
      "name": "CapabilityStatement",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "CapabilityStatement",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "CapabilityStatement",
            "path": "CapabilityStatement",
            "min": 1,
            "max": "1",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "cpb-8",
                "severity": "error",
                "human": "There can only be one REST declaration per mode.",
                "expression": "rest.select(mode).isDistinct()",
                "xpath": "count(f:rest)=count(distinct-values(f:rest/f:mode/@value))"
              },
              {
                "key": "cpb-7",
                "severity": "error",
                "human": "The set of documents must be unique by the combination of profile and mode.",
                "expression": "document.select(profile.reference&mode).isDistinct()",
                "xpath": "count(f:document[f:mode/@value='producer'])=count(distinct-values(f:document[f:mode/@value='producer']/f:profile/f:reference/@value)) and count(f:document[f:mode/@value='consumer'])=count(distinct-values(f:document[f:mode/@value='consumer']/f:profile/f:reference/@value))"
              },
              {
                "key": "cpb-15",
                "severity": "error",
                "human": "Capability Statements of kind 'instance' do not have implementation elements.",
                "expression": "implementation.empty() or kind != 'capability'",
                "xpath": "not(exists(f:implementation)) or (f:kind/@value != 'capability')"
              },
              {
                "key": "cpb-3",
                "severity": "error",
                "human": "Messaging end-point is required (and is only permitted) when a statement is for an implementation.",
                "expression": "messaging.endpoint.empty() or kind = 'instance'",
                "xpath": "not(exists(f:messaging/f:endpoint)) or f:kind/@value = 'instance'"
              },
              {
                "key": "cpb-14",
                "severity": "error",
                "human": "Capability Statements of kind 'requirements' do not have software or implementation elements.",
                "expression": "(software.empty() and implementation.empty()) or kind != 'requirements'",
                "xpath": "not(exists(f:software) or exists(f:implementation)) or (f:kind/@value != 'requirements')"
              },
              {
                "key": "cpb-2",
                "severity": "error",
                "human": "A Capability Statement SHALL have at least one of description, software, or implementation element.",
                "expression": "(description.count() + software.count() + implementation.count()) > 0",
                "xpath": "count(f:software | f:implementation | f:description) > 0"
              },
              {
                "key": "cpb-1",
                "severity": "error",
                "human": "A Capability Statement SHALL have at least one of REST, messaging or document element.",
                "expression": "rest.exists() or messaging.exists() or document.exists()",
                "xpath": "exists(f:rest) or exists(f:messaging) or exists(f:document)"
              }
            ]
          },
          {
            "id": "CapabilityStatement.id",
            "path": "CapabilityStatement.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.meta",
            "path": "CapabilityStatement.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.implicitRules",
            "path": "CapabilityStatement.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.language",
            "path": "CapabilityStatement.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "CapabilityStatement.text",
            "path": "CapabilityStatement.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "CapabilityStatement.contained",
            "path": "CapabilityStatement.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "CapabilityStatement.extension",
            "path": "CapabilityStatement.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.modifierExtension",
            "path": "CapabilityStatement.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "CapabilityStatement.url",
            "path": "CapabilityStatement.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.version",
            "path": "CapabilityStatement.version",
            "comment": "There may be different capability statement instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the capability statement with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.name",
            "path": "CapabilityStatement.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.title",
            "path": "CapabilityStatement.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.status",
            "path": "CapabilityStatement.status",
            "comment": "Allows filtering of capability statements that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired capability statement without due consideration. This is not intended for use with actual capability statements, but where capability statements are used to describe possible or desired systems.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "CapabilityStatement.experimental",
            "path": "CapabilityStatement.experimental",
            "comment": "Allows filtering of capability statement that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental capability statement in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.date",
            "path": "CapabilityStatement.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the capability statement. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.publisher",
            "path": "CapabilityStatement.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the capability statement is the organization or individual primarily responsible for the maintenance and upkeep of the capability statement. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the capability statement. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.contact",
            "path": "CapabilityStatement.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.description",
            "path": "CapabilityStatement.description",
            "comment": "This description can be used to capture details such as why the capability statement was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the capability statement as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). This does not need to be populated if the description is adequately implied by the software or implementation details.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "condition": [
              "cpb-2"
            ]
          },
          {
            "id": "CapabilityStatement.useContext",
            "path": "CapabilityStatement.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.jurisdiction",
            "path": "CapabilityStatement.jurisdiction",
            "comment": "It may be possible for the capability statement to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "CapabilityStatement.purpose",
            "path": "CapabilityStatement.purpose",
            "comment": "This element does not describe the usage of the capability statement Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this capability statement.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CapabilityStatement.copyright",
            "path": "CapabilityStatement.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CapabilityStatement.kind",
            "path": "CapabilityStatement.kind",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CapabilityStatementKind"
                }
              ],
              "strength": "required",
              "description": "How a capability statement is intended to be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/capability-statement-kind"
              }
            }
          },
          {
            "id": "CapabilityStatement.instantiates",
            "path": "CapabilityStatement.instantiates",
            "comment": "HL7 defines the following Services: [Terminology Service](terminology-service.html).\n\nMany [Implementation Guides](http://fhir.org/guides/registry) define additional services.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.software",
            "path": "CapabilityStatement.software",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "cpb-2"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.software.id",
            "path": "CapabilityStatement.software.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.software.extension",
            "path": "CapabilityStatement.software.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.software.modifierExtension",
            "path": "CapabilityStatement.software.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.software.name",
            "path": "CapabilityStatement.software.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.software.version",
            "path": "CapabilityStatement.software.version",
            "comment": "If possible, a version should be specified, as statements are likely to be different for different versions of software.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.software.releaseDate",
            "path": "CapabilityStatement.software.releaseDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.implementation",
            "path": "CapabilityStatement.implementation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "cpb-2"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.implementation.id",
            "path": "CapabilityStatement.implementation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.implementation.extension",
            "path": "CapabilityStatement.implementation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.implementation.modifierExtension",
            "path": "CapabilityStatement.implementation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.implementation.description",
            "path": "CapabilityStatement.implementation.description",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.implementation.url",
            "path": "CapabilityStatement.implementation.url",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.fhirVersion",
            "path": "CapabilityStatement.fhirVersion",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.acceptUnknown",
            "path": "CapabilityStatement.acceptUnknown",
            "comment": "Unknown elements in a resource can only arise as later versions of the specification are published, because this is the only place where such elements can be defined. Hence accepting unknown elements is about inter-version compatibility.\n\nApplications are recommended to accept unknown extensions and elements ('both'), but this is not always possible.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "UnknownContentCode"
                }
              ],
              "strength": "required",
              "description": "A code that indicates whether an application accepts unknown elements or extensions when reading resources.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/unknown-content-code"
              }
            }
          },
          {
            "id": "CapabilityStatement.format",
            "path": "CapabilityStatement.format",
            "comment": "\"xml\", \"json\" and \"ttl\" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MimeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The mime type of an attachment. Any valid mime type is allowed.",
              "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
            }
          },
          {
            "id": "CapabilityStatement.patchFormat",
            "path": "CapabilityStatement.patchFormat",
            "comment": "At present, the patch mime types application/json-patch+json and application/xml-patch+xml are legal. Generally, if a server supports PATCH, it would be expected to support the patch formats and match the formats it supports, but this is not always possible or necessary.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MimeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The mime type of an attachment. Any valid mime type is allowed.",
              "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
            }
          },
          {
            "id": "CapabilityStatement.implementationGuide",
            "path": "CapabilityStatement.implementationGuide",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.profile",
            "path": "CapabilityStatement.profile",
            "comment": "Supported profiles are different than the profiles that apply to a particular resource in rest.resource.profile. The resource profile is a general statement of what features of the resource are supported overall by the system - the sum total of the facilities it supports. A supported profile is a deeper statement about the functionality of the data and services provided by the server (or used by the client). A typical case is a laboratory system that produces a set of different reports - this is the list of types of data that it publishes. A key aspect of declaring profiles here is the question of how the client converts knowledge that the server publishes this data into working with the data; the client can inspect individual resources to determine whether they conform to a particular profile, but how does it find the ones that does? It does so by searching using the _profile parameter, so any resources listed here must be valid values for the _profile resource (using the identifier in the target profile).  Typically, supported profiles cross resource types to describe a network of related resources, so they are listed here rather than by resource. However, they do not need to describe more than one resource.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest",
            "path": "CapabilityStatement.rest",
            "comment": "Multiple repetitions allow definition of both client and/or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "cpb-1"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "cpb-9",
                "severity": "error",
                "human": "A given resource can only be described once per RESTful mode.",
                "expression": "resource.select(type).isDistinct()",
                "xpath": "count(f:resource)=count(distinct-values(f:resource/f:type/@value))"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.id",
            "path": "CapabilityStatement.rest.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.extension",
            "path": "CapabilityStatement.rest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.modifierExtension",
            "path": "CapabilityStatement.rest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.mode",
            "path": "CapabilityStatement.rest.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RestfulCapabilityMode"
                }
              ],
              "strength": "required",
              "description": "The mode of a RESTful capability statement.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/restful-capability-mode"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.documentation",
            "path": "CapabilityStatement.rest.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.security",
            "path": "CapabilityStatement.rest.security",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.security.id",
            "path": "CapabilityStatement.rest.security.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.security.extension",
            "path": "CapabilityStatement.rest.security.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.security.modifierExtension",
            "path": "CapabilityStatement.rest.security.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.security.cors",
            "path": "CapabilityStatement.rest.security.cors",
            "comment": "The easiest CORS headers to add are Access-Control-Allow-Origin: * & Access-Control-Request-Method: GET, POST, PUT, DELETE. All servers SHOULD support CORS.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.security.service",
            "path": "CapabilityStatement.rest.security.service",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RestfulSecurityService"
                }
              ],
              "strength": "extensible",
              "description": "Types of security services used with FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/restful-security-service"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.security.description",
            "path": "CapabilityStatement.rest.security.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.security.certificate",
            "path": "CapabilityStatement.rest.security.certificate",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.security.certificate.id",
            "path": "CapabilityStatement.rest.security.certificate.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.security.certificate.extension",
            "path": "CapabilityStatement.rest.security.certificate.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.security.certificate.modifierExtension",
            "path": "CapabilityStatement.rest.security.certificate.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.security.certificate.type",
            "path": "CapabilityStatement.rest.security.certificate.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MimeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The mime type of an attachment. Any valid mime type is allowed.",
              "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
            }
          },
          {
            "id": "CapabilityStatement.rest.security.certificate.blob",
            "path": "CapabilityStatement.rest.security.certificate.blob",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource",
            "path": "CapabilityStatement.rest.resource",
            "comment": "Max of one repetition per resource type.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "cpb-12",
                "severity": "error",
                "human": "Search parameter names must be unique in the context of a resource.",
                "expression": "searchParam.select(name).isDistinct()",
                "xpath": "count(f:searchParam)=count(distinct-values(f:searchParam/f:name/@value))"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.resource.id",
            "path": "CapabilityStatement.rest.resource.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.extension",
            "path": "CapabilityStatement.rest.resource.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.modifierExtension",
            "path": "CapabilityStatement.rest.resource.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.resource.type",
            "path": "CapabilityStatement.rest.resource.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.profile",
            "path": "CapabilityStatement.rest.resource.profile",
            "comment": "The profile applies to all  resources of this type - i.e. it is the superset of what is supported by the system.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.resource.documentation",
            "path": "CapabilityStatement.rest.resource.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.interaction",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ResourceInteraction"
              }
            ],
            "path": "CapabilityStatement.rest.resource.interaction",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.interaction.id",
            "path": "CapabilityStatement.rest.resource.interaction.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.interaction.extension",
            "path": "CapabilityStatement.rest.resource.interaction.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.interaction.modifierExtension",
            "path": "CapabilityStatement.rest.resource.interaction.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.resource.interaction.code",
            "path": "CapabilityStatement.rest.resource.interaction.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TypeRestfulInteraction"
                }
              ],
              "strength": "required",
              "description": "Operations supported by REST at the type or instance level.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/type-restful-interaction"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.interaction.documentation",
            "path": "CapabilityStatement.rest.resource.interaction.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.versioning",
            "path": "CapabilityStatement.rest.resource.versioning",
            "comment": "If a server supports versionIds correctly, it SHOULD support vread too, but is not required to do so.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceVersionPolicy"
                }
              ],
              "strength": "required",
              "description": "How the system supports versioning for a resource.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/versioning-policy"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.readHistory",
            "path": "CapabilityStatement.rest.resource.readHistory",
            "comment": "It is useful to support the vRead operation for current operations, even if past versions aren't available.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.updateCreate",
            "path": "CapabilityStatement.rest.resource.updateCreate",
            "comment": "Allowing the clients to create new identities on the server means that the system administrator needs to have confidence that the clients do not create clashing identities between them. Obviously, if there is only one client, this won't happen. While creating identities on the client means that the clients need to be managed, it's much more convenient for many scenarios if such management can be put in place.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.conditionalCreate",
            "path": "CapabilityStatement.rest.resource.conditionalCreate",
            "comment": "Conditional Create is mainly appropriate for interface engine scripts converting from other formats, such as v2.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.conditionalRead",
            "path": "CapabilityStatement.rest.resource.conditionalRead",
            "comment": "Conditional Read is mainly appropriate for interface engine scripts converting from other formats, such as v2.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionalReadStatus"
                }
              ],
              "strength": "required",
              "description": "A code that indicates how the server supports conditional read.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/conditional-read-status"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.conditionalUpdate",
            "path": "CapabilityStatement.rest.resource.conditionalUpdate",
            "comment": "Conditional Update is mainly appropriate for interface engine scripts converting from other formats, such as v2.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.conditionalDelete",
            "path": "CapabilityStatement.rest.resource.conditionalDelete",
            "comment": "Conditional Delete is mainly appropriate for interface engine scripts converting from other formats, such as v2.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionalDeleteStatus"
                }
              ],
              "strength": "required",
              "description": "A code that indicates how the server supports conditional delete.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/conditional-delete-status"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.referencePolicy",
            "path": "CapabilityStatement.rest.resource.referencePolicy",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferenceHandlingPolicy"
                }
              ],
              "strength": "required",
              "description": "A set of flags that defines how references are supported.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/reference-handling-policy"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.searchInclude",
            "path": "CapabilityStatement.rest.resource.searchInclude",
            "comment": "If this list is empty, the server does not support includes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.searchRevInclude",
            "path": "CapabilityStatement.rest.resource.searchRevInclude",
            "comment": "If this list is empty, the server does not support reverse includes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam",
            "path": "CapabilityStatement.rest.resource.searchParam",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam.id",
            "path": "CapabilityStatement.rest.resource.searchParam.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam.extension",
            "path": "CapabilityStatement.rest.resource.searchParam.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam.modifierExtension",
            "path": "CapabilityStatement.rest.resource.searchParam.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam.name",
            "path": "CapabilityStatement.rest.resource.searchParam.name",
            "comment": "Parameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam.definition",
            "path": "CapabilityStatement.rest.resource.searchParam.definition",
            "comment": "This SHOULD be present, and matches refers to a SearchParameter by its canonical url. If systems wish to document their support for modifiers, comparators, target resource types, and chained parameters, they should do using a search parameter resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam.type",
            "path": "CapabilityStatement.rest.resource.searchParam.type",
            "comment": "While this can be looked up from the definition, it is included here as a convenience for systems that autogenerate a query interface based on the server capability statement.  It SHALL be the same as the type in the search parameter definition.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SearchParamType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Data types allowed to be used for search parameters.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-param-type"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam.documentation",
            "path": "CapabilityStatement.rest.resource.searchParam.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.interaction",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SystemInteraction"
              }
            ],
            "path": "CapabilityStatement.rest.interaction",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.interaction.id",
            "path": "CapabilityStatement.rest.interaction.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.interaction.extension",
            "path": "CapabilityStatement.rest.interaction.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.interaction.modifierExtension",
            "path": "CapabilityStatement.rest.interaction.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.interaction.code",
            "path": "CapabilityStatement.rest.interaction.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SystemRestfulInteraction"
                }
              ],
              "strength": "required",
              "description": "Operations supported by REST at the system level.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/system-restful-interaction"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.interaction.documentation",
            "path": "CapabilityStatement.rest.interaction.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.searchParam",
            "path": "CapabilityStatement.rest.searchParam",
            "comment": "Typically, the only search parameters supported for all searchse are those that apply to all resources - tags, profiles, text search etc.",
            "min": 0,
            "max": "*",
            "contentReference": "#CapabilityStatement.rest.resource.searchParam"
          },
          {
            "id": "CapabilityStatement.rest.operation",
            "path": "CapabilityStatement.rest.operation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.operation.id",
            "path": "CapabilityStatement.rest.operation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.operation.extension",
            "path": "CapabilityStatement.rest.operation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.operation.modifierExtension",
            "path": "CapabilityStatement.rest.operation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.operation.name",
            "path": "CapabilityStatement.rest.operation.name",
            "comment": "The name here SHOULD be the same as the name in the definition, unless there is a name clash and the name cannot be used. The name does not include the \"$\" portion that is always included in the URL.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.operation.definition",
            "path": "CapabilityStatement.rest.operation.definition",
            "comment": "This can be used to build an HTML form to invoke the operation, for instance.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/OperationDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.compartment",
            "path": "CapabilityStatement.rest.compartment",
            "comment": "At present, the only defined compartments are at [CompartmentDefinition](compartmentdefinition.html).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging",
            "path": "CapabilityStatement.messaging",
            "comment": "Multiple repetitions allow the documentation of multiple endpoints per solution.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "cpb-1"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "cpb-16",
                "severity": "error",
                "human": "A Capability Statement messaging element SHALL have either supportedMessage or event element, but not both.",
                "expression": "supportedMessage.empty() != event.empty()",
                "xpath": "exists(f:supportedMessage) != exists(f:event)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.id",
            "path": "CapabilityStatement.messaging.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.extension",
            "path": "CapabilityStatement.messaging.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.modifierExtension",
            "path": "CapabilityStatement.messaging.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.endpoint",
            "path": "CapabilityStatement.messaging.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.endpoint.id",
            "path": "CapabilityStatement.messaging.endpoint.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.endpoint.extension",
            "path": "CapabilityStatement.messaging.endpoint.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.endpoint.modifierExtension",
            "path": "CapabilityStatement.messaging.endpoint.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.endpoint.protocol",
            "path": "CapabilityStatement.messaging.endpoint.protocol",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MessageTransport"
                }
              ],
              "strength": "extensible",
              "description": "The protocol used for message transport.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-transport"
              }
            }
          },
          {
            "id": "CapabilityStatement.messaging.endpoint.address",
            "path": "CapabilityStatement.messaging.endpoint.address",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.reliableCache",
            "path": "CapabilityStatement.messaging.reliableCache",
            "comment": "If this value is missing then the application does not implement (receiver) or depend on (sender) reliable messaging.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.documentation",
            "path": "CapabilityStatement.messaging.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.supportedMessage",
            "path": "CapabilityStatement.messaging.supportedMessage",
            "comment": "This is a proposed alternative to the messaging.event structure.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.supportedMessage.id",
            "path": "CapabilityStatement.messaging.supportedMessage.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.supportedMessage.extension",
            "path": "CapabilityStatement.messaging.supportedMessage.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.supportedMessage.modifierExtension",
            "path": "CapabilityStatement.messaging.supportedMessage.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.supportedMessage.mode",
            "path": "CapabilityStatement.messaging.supportedMessage.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EventCapabilityMode"
                }
              ],
              "strength": "required",
              "description": "The mode of a message capability statement.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/event-capability-mode"
              }
            }
          },
          {
            "id": "CapabilityStatement.messaging.supportedMessage.definition",
            "path": "CapabilityStatement.messaging.supportedMessage.definition",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MessageDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.event",
            "path": "CapabilityStatement.messaging.event",
            "comment": "The same event may be listed up to two times - once as sender and once as receiver.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.event.id",
            "path": "CapabilityStatement.messaging.event.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.event.extension",
            "path": "CapabilityStatement.messaging.event.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.event.modifierExtension",
            "path": "CapabilityStatement.messaging.event.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.event.code",
            "path": "CapabilityStatement.messaging.event.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MessageEvent"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "One of the message events defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-events"
              }
            }
          },
          {
            "id": "CapabilityStatement.messaging.event.category",
            "path": "CapabilityStatement.messaging.event.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MessageSignificanceCategory"
                }
              ],
              "strength": "required",
              "description": "The impact of the content of a message.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-significance-category"
              }
            }
          },
          {
            "id": "CapabilityStatement.messaging.event.mode",
            "path": "CapabilityStatement.messaging.event.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EventCapabilityMode"
                }
              ],
              "strength": "required",
              "description": "The mode of a message capability statement.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/event-capability-mode"
              }
            }
          },
          {
            "id": "CapabilityStatement.messaging.event.focus",
            "path": "CapabilityStatement.messaging.event.focus",
            "comment": "This SHALL be provided if the event type supports multiple different resource types.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "CapabilityStatement.messaging.event.request",
            "path": "CapabilityStatement.messaging.event.request",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.event.response",
            "path": "CapabilityStatement.messaging.event.response",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.event.documentation",
            "path": "CapabilityStatement.messaging.event.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.document",
            "path": "CapabilityStatement.document",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "cpb-1"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.document.id",
            "path": "CapabilityStatement.document.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.document.extension",
            "path": "CapabilityStatement.document.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CapabilityStatement.document.modifierExtension",
            "path": "CapabilityStatement.document.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.document.mode",
            "path": "CapabilityStatement.document.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentMode"
                }
              ],
              "strength": "required",
              "description": "Whether the application produces or consumes documents.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/document-mode"
              }
            }
          },
          {
            "id": "CapabilityStatement.document.documentation",
            "path": "CapabilityStatement.document.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.document.profile",
            "path": "CapabilityStatement.document.profile",
            "comment": "The first resource is the document resource.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "CapabilityStatement",
            "path": "CapabilityStatement",
            "min": 1,
            "max": "1",
            "constraint": [
              {
                "key": "cpb-8",
                "severity": "error",
                "human": "There can only be one REST declaration per mode.",
                "expression": "rest.select(mode).isDistinct()",
                "xpath": "count(f:rest)=count(distinct-values(f:rest/f:mode/@value))"
              },
              {
                "key": "cpb-7",
                "severity": "error",
                "human": "The set of documents must be unique by the combination of profile and mode.",
                "expression": "document.select(profile.reference&mode).isDistinct()",
                "xpath": "count(f:document[f:mode/@value='producer'])=count(distinct-values(f:document[f:mode/@value='producer']/f:profile/f:reference/@value)) and count(f:document[f:mode/@value='consumer'])=count(distinct-values(f:document[f:mode/@value='consumer']/f:profile/f:reference/@value))"
              },
              {
                "key": "cpb-15",
                "severity": "error",
                "human": "Capability Statements of kind 'instance' do not have implementation elements.",
                "expression": "implementation.empty() or kind != 'capability'",
                "xpath": "not(exists(f:implementation)) or (f:kind/@value != 'capability')"
              },
              {
                "key": "cpb-3",
                "severity": "error",
                "human": "Messaging end-point is required (and is only permitted) when a statement is for an implementation.",
                "expression": "messaging.endpoint.empty() or kind = 'instance'",
                "xpath": "not(exists(f:messaging/f:endpoint)) or f:kind/@value = 'instance'"
              },
              {
                "key": "cpb-14",
                "severity": "error",
                "human": "Capability Statements of kind 'requirements' do not have software or implementation elements.",
                "expression": "(software.empty() and implementation.empty()) or kind != 'requirements'",
                "xpath": "not(exists(f:software) or exists(f:implementation)) or (f:kind/@value != 'requirements')"
              },
              {
                "key": "cpb-2",
                "severity": "error",
                "human": "A Capability Statement SHALL have at least one of description, software, or implementation element.",
                "expression": "(description.count() + software.count() + implementation.count()) > 0",
                "xpath": "count(f:software | f:implementation | f:description) > 0"
              },
              {
                "key": "cpb-1",
                "severity": "error",
                "human": "A Capability Statement SHALL have at least one of REST, messaging or document element.",
                "expression": "rest.exists() or messaging.exists() or document.exists()",
                "xpath": "exists(f:rest) or exists(f:messaging) or exists(f:document)"
              }
            ]
          },
          {
            "id": "CapabilityStatement.url",
            "path": "CapabilityStatement.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.version",
            "path": "CapabilityStatement.version",
            "comment": "There may be different capability statement instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the capability statement with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.name",
            "path": "CapabilityStatement.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.title",
            "path": "CapabilityStatement.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.status",
            "path": "CapabilityStatement.status",
            "comment": "Allows filtering of capability statements that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired capability statement without due consideration. This is not intended for use with actual capability statements, but where capability statements are used to describe possible or desired systems.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "CapabilityStatement.experimental",
            "path": "CapabilityStatement.experimental",
            "comment": "Allows filtering of capability statement that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental capability statement in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.date",
            "path": "CapabilityStatement.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the capability statement. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.publisher",
            "path": "CapabilityStatement.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the capability statement is the organization or individual primarily responsible for the maintenance and upkeep of the capability statement. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the capability statement. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.contact",
            "path": "CapabilityStatement.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.description",
            "path": "CapabilityStatement.description",
            "comment": "This description can be used to capture details such as why the capability statement was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the capability statement as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). This does not need to be populated if the description is adequately implied by the software or implementation details.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "condition": [
              "cpb-2"
            ]
          },
          {
            "id": "CapabilityStatement.useContext",
            "path": "CapabilityStatement.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.jurisdiction",
            "path": "CapabilityStatement.jurisdiction",
            "comment": "It may be possible for the capability statement to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "CapabilityStatement.purpose",
            "path": "CapabilityStatement.purpose",
            "comment": "This element does not describe the usage of the capability statement Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this capability statement.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CapabilityStatement.copyright",
            "path": "CapabilityStatement.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CapabilityStatement.kind",
            "path": "CapabilityStatement.kind",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CapabilityStatementKind"
                }
              ],
              "strength": "required",
              "description": "How a capability statement is intended to be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/capability-statement-kind"
              }
            }
          },
          {
            "id": "CapabilityStatement.instantiates",
            "path": "CapabilityStatement.instantiates",
            "comment": "HL7 defines the following Services: [Terminology Service](terminology-service.html).\n\nMany [Implementation Guides](http://fhir.org/guides/registry) define additional services.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.software",
            "path": "CapabilityStatement.software",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "cpb-2"
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.software.name",
            "path": "CapabilityStatement.software.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.software.version",
            "path": "CapabilityStatement.software.version",
            "comment": "If possible, a version should be specified, as statements are likely to be different for different versions of software.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.software.releaseDate",
            "path": "CapabilityStatement.software.releaseDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.implementation",
            "path": "CapabilityStatement.implementation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "cpb-2"
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.implementation.description",
            "path": "CapabilityStatement.implementation.description",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.implementation.url",
            "path": "CapabilityStatement.implementation.url",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.fhirVersion",
            "path": "CapabilityStatement.fhirVersion",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.acceptUnknown",
            "path": "CapabilityStatement.acceptUnknown",
            "comment": "Unknown elements in a resource can only arise as later versions of the specification are published, because this is the only place where such elements can be defined. Hence accepting unknown elements is about inter-version compatibility.\n\nApplications are recommended to accept unknown extensions and elements ('both'), but this is not always possible.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "UnknownContentCode"
                }
              ],
              "strength": "required",
              "description": "A code that indicates whether an application accepts unknown elements or extensions when reading resources.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/unknown-content-code"
              }
            }
          },
          {
            "id": "CapabilityStatement.format",
            "path": "CapabilityStatement.format",
            "comment": "\"xml\", \"json\" and \"ttl\" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MimeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The mime type of an attachment. Any valid mime type is allowed.",
              "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
            }
          },
          {
            "id": "CapabilityStatement.patchFormat",
            "path": "CapabilityStatement.patchFormat",
            "comment": "At present, the patch mime types application/json-patch+json and application/xml-patch+xml are legal. Generally, if a server supports PATCH, it would be expected to support the patch formats and match the formats it supports, but this is not always possible or necessary.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MimeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The mime type of an attachment. Any valid mime type is allowed.",
              "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
            }
          },
          {
            "id": "CapabilityStatement.implementationGuide",
            "path": "CapabilityStatement.implementationGuide",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.profile",
            "path": "CapabilityStatement.profile",
            "comment": "Supported profiles are different than the profiles that apply to a particular resource in rest.resource.profile. The resource profile is a general statement of what features of the resource are supported overall by the system - the sum total of the facilities it supports. A supported profile is a deeper statement about the functionality of the data and services provided by the server (or used by the client). A typical case is a laboratory system that produces a set of different reports - this is the list of types of data that it publishes. A key aspect of declaring profiles here is the question of how the client converts knowledge that the server publishes this data into working with the data; the client can inspect individual resources to determine whether they conform to a particular profile, but how does it find the ones that does? It does so by searching using the _profile parameter, so any resources listed here must be valid values for the _profile resource (using the identifier in the target profile).  Typically, supported profiles cross resource types to describe a network of related resources, so they are listed here rather than by resource. However, they do not need to describe more than one resource.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest",
            "path": "CapabilityStatement.rest",
            "comment": "Multiple repetitions allow definition of both client and/or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "cpb-1"
            ],
            "constraint": [
              {
                "key": "cpb-9",
                "severity": "error",
                "human": "A given resource can only be described once per RESTful mode.",
                "expression": "resource.select(type).isDistinct()",
                "xpath": "count(f:resource)=count(distinct-values(f:resource/f:type/@value))"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.mode",
            "path": "CapabilityStatement.rest.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RestfulCapabilityMode"
                }
              ],
              "strength": "required",
              "description": "The mode of a RESTful capability statement.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/restful-capability-mode"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.documentation",
            "path": "CapabilityStatement.rest.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.security",
            "path": "CapabilityStatement.rest.security",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.security.cors",
            "path": "CapabilityStatement.rest.security.cors",
            "comment": "The easiest CORS headers to add are Access-Control-Allow-Origin: * & Access-Control-Request-Method: GET, POST, PUT, DELETE. All servers SHOULD support CORS.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.security.service",
            "path": "CapabilityStatement.rest.security.service",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RestfulSecurityService"
                }
              ],
              "strength": "extensible",
              "description": "Types of security services used with FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/restful-security-service"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.security.description",
            "path": "CapabilityStatement.rest.security.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.security.certificate",
            "path": "CapabilityStatement.rest.security.certificate",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.security.certificate.type",
            "path": "CapabilityStatement.rest.security.certificate.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MimeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The mime type of an attachment. Any valid mime type is allowed.",
              "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
            }
          },
          {
            "id": "CapabilityStatement.rest.security.certificate.blob",
            "path": "CapabilityStatement.rest.security.certificate.blob",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource",
            "path": "CapabilityStatement.rest.resource",
            "comment": "Max of one repetition per resource type.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "cpb-12",
                "severity": "error",
                "human": "Search parameter names must be unique in the context of a resource.",
                "expression": "searchParam.select(name).isDistinct()",
                "xpath": "count(f:searchParam)=count(distinct-values(f:searchParam/f:name/@value))"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.resource.type",
            "path": "CapabilityStatement.rest.resource.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.profile",
            "path": "CapabilityStatement.rest.resource.profile",
            "comment": "The profile applies to all  resources of this type - i.e. it is the superset of what is supported by the system.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.resource.documentation",
            "path": "CapabilityStatement.rest.resource.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.interaction",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ResourceInteraction"
              }
            ],
            "path": "CapabilityStatement.rest.resource.interaction",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.interaction.code",
            "path": "CapabilityStatement.rest.resource.interaction.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TypeRestfulInteraction"
                }
              ],
              "strength": "required",
              "description": "Operations supported by REST at the type or instance level.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/type-restful-interaction"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.interaction.documentation",
            "path": "CapabilityStatement.rest.resource.interaction.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.versioning",
            "path": "CapabilityStatement.rest.resource.versioning",
            "comment": "If a server supports versionIds correctly, it SHOULD support vread too, but is not required to do so.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceVersionPolicy"
                }
              ],
              "strength": "required",
              "description": "How the system supports versioning for a resource.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/versioning-policy"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.readHistory",
            "path": "CapabilityStatement.rest.resource.readHistory",
            "comment": "It is useful to support the vRead operation for current operations, even if past versions aren't available.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.updateCreate",
            "path": "CapabilityStatement.rest.resource.updateCreate",
            "comment": "Allowing the clients to create new identities on the server means that the system administrator needs to have confidence that the clients do not create clashing identities between them. Obviously, if there is only one client, this won't happen. While creating identities on the client means that the clients need to be managed, it's much more convenient for many scenarios if such management can be put in place.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.conditionalCreate",
            "path": "CapabilityStatement.rest.resource.conditionalCreate",
            "comment": "Conditional Create is mainly appropriate for interface engine scripts converting from other formats, such as v2.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.conditionalRead",
            "path": "CapabilityStatement.rest.resource.conditionalRead",
            "comment": "Conditional Read is mainly appropriate for interface engine scripts converting from other formats, such as v2.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionalReadStatus"
                }
              ],
              "strength": "required",
              "description": "A code that indicates how the server supports conditional read.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/conditional-read-status"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.conditionalUpdate",
            "path": "CapabilityStatement.rest.resource.conditionalUpdate",
            "comment": "Conditional Update is mainly appropriate for interface engine scripts converting from other formats, such as v2.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.conditionalDelete",
            "path": "CapabilityStatement.rest.resource.conditionalDelete",
            "comment": "Conditional Delete is mainly appropriate for interface engine scripts converting from other formats, such as v2.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionalDeleteStatus"
                }
              ],
              "strength": "required",
              "description": "A code that indicates how the server supports conditional delete.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/conditional-delete-status"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.referencePolicy",
            "path": "CapabilityStatement.rest.resource.referencePolicy",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferenceHandlingPolicy"
                }
              ],
              "strength": "required",
              "description": "A set of flags that defines how references are supported.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/reference-handling-policy"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.searchInclude",
            "path": "CapabilityStatement.rest.resource.searchInclude",
            "comment": "If this list is empty, the server does not support includes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.searchRevInclude",
            "path": "CapabilityStatement.rest.resource.searchRevInclude",
            "comment": "If this list is empty, the server does not support reverse includes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam",
            "path": "CapabilityStatement.rest.resource.searchParam",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam.name",
            "path": "CapabilityStatement.rest.resource.searchParam.name",
            "comment": "Parameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam.definition",
            "path": "CapabilityStatement.rest.resource.searchParam.definition",
            "comment": "This SHOULD be present, and matches refers to a SearchParameter by its canonical url. If systems wish to document their support for modifiers, comparators, target resource types, and chained parameters, they should do using a search parameter resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam.type",
            "path": "CapabilityStatement.rest.resource.searchParam.type",
            "comment": "While this can be looked up from the definition, it is included here as a convenience for systems that autogenerate a query interface based on the server capability statement.  It SHALL be the same as the type in the search parameter definition.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SearchParamType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Data types allowed to be used for search parameters.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-param-type"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.resource.searchParam.documentation",
            "path": "CapabilityStatement.rest.resource.searchParam.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.interaction",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SystemInteraction"
              }
            ],
            "path": "CapabilityStatement.rest.interaction",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.interaction.code",
            "path": "CapabilityStatement.rest.interaction.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SystemRestfulInteraction"
                }
              ],
              "strength": "required",
              "description": "Operations supported by REST at the system level.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/system-restful-interaction"
              }
            }
          },
          {
            "id": "CapabilityStatement.rest.interaction.documentation",
            "path": "CapabilityStatement.rest.interaction.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.searchParam",
            "path": "CapabilityStatement.rest.searchParam",
            "comment": "Typically, the only search parameters supported for all searchse are those that apply to all resources - tags, profiles, text search etc.",
            "min": 0,
            "max": "*",
            "contentReference": "#CapabilityStatement.rest.resource.searchParam"
          },
          {
            "id": "CapabilityStatement.rest.operation",
            "path": "CapabilityStatement.rest.operation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.operation.name",
            "path": "CapabilityStatement.rest.operation.name",
            "comment": "The name here SHOULD be the same as the name in the definition, unless there is a name clash and the name cannot be used. The name does not include the \"$\" portion that is always included in the URL.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.rest.operation.definition",
            "path": "CapabilityStatement.rest.operation.definition",
            "comment": "This can be used to build an HTML form to invoke the operation, for instance.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/OperationDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.rest.compartment",
            "path": "CapabilityStatement.rest.compartment",
            "comment": "At present, the only defined compartments are at [CompartmentDefinition](compartmentdefinition.html).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging",
            "path": "CapabilityStatement.messaging",
            "comment": "Multiple repetitions allow the documentation of multiple endpoints per solution.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "cpb-1"
            ],
            "constraint": [
              {
                "key": "cpb-16",
                "severity": "error",
                "human": "A Capability Statement messaging element SHALL have either supportedMessage or event element, but not both.",
                "expression": "supportedMessage.empty() != event.empty()",
                "xpath": "exists(f:supportedMessage) != exists(f:event)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.endpoint",
            "path": "CapabilityStatement.messaging.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.endpoint.protocol",
            "path": "CapabilityStatement.messaging.endpoint.protocol",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MessageTransport"
                }
              ],
              "strength": "extensible",
              "description": "The protocol used for message transport.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-transport"
              }
            }
          },
          {
            "id": "CapabilityStatement.messaging.endpoint.address",
            "path": "CapabilityStatement.messaging.endpoint.address",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.reliableCache",
            "path": "CapabilityStatement.messaging.reliableCache",
            "comment": "If this value is missing then the application does not implement (receiver) or depend on (sender) reliable messaging.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.documentation",
            "path": "CapabilityStatement.messaging.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.messaging.supportedMessage",
            "path": "CapabilityStatement.messaging.supportedMessage",
            "comment": "This is a proposed alternative to the messaging.event structure.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.supportedMessage.mode",
            "path": "CapabilityStatement.messaging.supportedMessage.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EventCapabilityMode"
                }
              ],
              "strength": "required",
              "description": "The mode of a message capability statement.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/event-capability-mode"
              }
            }
          },
          {
            "id": "CapabilityStatement.messaging.supportedMessage.definition",
            "path": "CapabilityStatement.messaging.supportedMessage.definition",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MessageDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.event",
            "path": "CapabilityStatement.messaging.event",
            "comment": "The same event may be listed up to two times - once as sender and once as receiver.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.event.code",
            "path": "CapabilityStatement.messaging.event.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MessageEvent"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "One of the message events defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-events"
              }
            }
          },
          {
            "id": "CapabilityStatement.messaging.event.category",
            "path": "CapabilityStatement.messaging.event.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MessageSignificanceCategory"
                }
              ],
              "strength": "required",
              "description": "The impact of the content of a message.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-significance-category"
              }
            }
          },
          {
            "id": "CapabilityStatement.messaging.event.mode",
            "path": "CapabilityStatement.messaging.event.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EventCapabilityMode"
                }
              ],
              "strength": "required",
              "description": "The mode of a message capability statement.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/event-capability-mode"
              }
            }
          },
          {
            "id": "CapabilityStatement.messaging.event.focus",
            "path": "CapabilityStatement.messaging.event.focus",
            "comment": "This SHALL be provided if the event type supports multiple different resource types.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "CapabilityStatement.messaging.event.request",
            "path": "CapabilityStatement.messaging.event.request",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.event.response",
            "path": "CapabilityStatement.messaging.event.response",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.messaging.event.documentation",
            "path": "CapabilityStatement.messaging.event.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.document",
            "path": "CapabilityStatement.document",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "cpb-1"
            ],
            "isSummary": true
          },
          {
            "id": "CapabilityStatement.document.mode",
            "path": "CapabilityStatement.document.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentMode"
                }
              ],
              "strength": "required",
              "description": "Whether the application produces or consumes documents.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/document-mode"
              }
            }
          },
          {
            "id": "CapabilityStatement.document.documentation",
            "path": "CapabilityStatement.document.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CapabilityStatement.document.profile",
            "path": "CapabilityStatement.document.profile",
            "comment": "The first resource is the document resource.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/CarePlan",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "CarePlan",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/CarePlan",
      "name": "CarePlan",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "CarePlan",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "CarePlan",
            "path": "CarePlan",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "CarePlan.id",
            "path": "CarePlan.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.meta",
            "path": "CarePlan.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.implicitRules",
            "path": "CarePlan.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CarePlan.language",
            "path": "CarePlan.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "CarePlan.text",
            "path": "CarePlan.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "CarePlan.contained",
            "path": "CarePlan.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "CarePlan.extension",
            "path": "CarePlan.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CarePlan.modifierExtension",
            "path": "CarePlan.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "CarePlan.identifier",
            "path": "CarePlan.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.definition",
            "path": "CarePlan.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Questionnaire"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.basedOn",
            "path": "CarePlan.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.replaces",
            "path": "CarePlan.replaces",
            "comment": "The replacement could be because the initial care plan was immediately rejected (due to an issue) or because the previous care plan was completed, but the need for the action described by the care plan remains ongoing.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.partOf",
            "path": "CarePlan.partOf",
            "comment": "Each care plan is an independent request, such that having a care plan be part of another care plan can cause issues with cascading statuses.  As such, this element is still being discussed.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.status",
            "path": "CarePlan.status",
            "comment": "The unknown code is not to be used to convey other statuses.  The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the care plan.\n\nThis element is labeled as a modifier because the status contains the code entered-in-error] that marks the plan as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-status"
              }
            }
          },
          {
            "id": "CarePlan.intent",
            "path": "CarePlan.intent",
            "comment": "This element is labeled as a modifier because the intent alters when and how the resource is actually applicable.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanIntent"
                }
              ],
              "strength": "required",
              "description": "Codes indicating the degree of authority/intentionality associated with a care plan",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-intent"
              }
            }
          },
          {
            "id": "CarePlan.category",
            "path": "CarePlan.category",
            "comment": "There may be multiple axis of categorization and one plan may serve multiple purposes.  In some cases, this may be redundant with references to CarePlan.concern.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanCategory"
                }
              ],
              "strength": "example",
              "description": "Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-category"
              }
            }
          },
          {
            "id": "CarePlan.title",
            "path": "CarePlan.title",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.description",
            "path": "CarePlan.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.subject",
            "path": "CarePlan.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.context",
            "path": "CarePlan.context",
            "comment": "Activities conducted as a result of the care plan may well occur as part of other encounters/episodes.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.period",
            "path": "CarePlan.period",
            "comment": "Any activities scheduled as part of the plan should be constrained to the specified period regardless of whether the activities are planned within a single encounter/episode or across multiple encounters/episodes (e.g. the longitudinal management of a chronic condition).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.author",
            "path": "CarePlan.author",
            "comment": "Collaborative care plans may have multiple authors.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.careTeam",
            "path": "CarePlan.careTeam",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              }
            ]
          },
          {
            "id": "CarePlan.addresses",
            "path": "CarePlan.addresses",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.supportingInfo",
            "path": "CarePlan.supportingInfo",
            "comment": "Use \"concern\" to identify specific conditions addressed by the care plan.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "CarePlan.goal",
            "path": "CarePlan.goal",
            "comment": "Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Goal"
              }
            ]
          },
          {
            "id": "CarePlan.activity",
            "path": "CarePlan.activity",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "cpl-3",
                "severity": "error",
                "human": "Provide a reference or detail, not both",
                "expression": "detail.empty() or reference.empty()",
                "xpath": "not(exists(f:detail)) or not(exists(f:reference))"
              }
            ]
          },
          {
            "id": "CarePlan.activity.id",
            "path": "CarePlan.activity.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CarePlan.activity.extension",
            "path": "CarePlan.activity.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CarePlan.activity.modifierExtension",
            "path": "CarePlan.activity.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CarePlan.activity.outcomeCodeableConcept",
            "path": "CarePlan.activity.outcomeCodeableConcept",
            "comment": "Note that this should not duplicate the activity status (e.g. completed or in progress).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanActivityOutcome"
                }
              ],
              "strength": "example",
              "description": "Identifies the results of the activity",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-activity-outcome"
              }
            }
          },
          {
            "id": "CarePlan.activity.outcomeReference",
            "path": "CarePlan.activity.outcomeReference",
            "comment": "The activity outcome is independent of the outcome of the related goal(s).  For example, if the goal is to achieve a target body weight of 150 lb and an activity is defined to diet, then the activity outcome could be calories consumed whereas the goal outcome is an observation for the actual body weight measured.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "CarePlan.activity.progress",
            "path": "CarePlan.activity.progress",
            "comment": "This element should NOT be used to describe the activity to be performed - that occurs either within the resource pointed to by activity.detail.reference or in activity.detail.description.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "CarePlan.activity.reference",
            "path": "CarePlan.activity.reference",
            "comment": "Standard extension exists ([goal-pertainstogoal](extension-goal-pertainstogoal.html)) that allows goals to be referenced from any of the referenced resources in CarePlan.activity.reference.  \rThe goal should be visible when the resource referenced by CarePlan.activity.reference is viewed indepedently from the CarePlan.  Requests that are pointed to by a CarePlan using this element should *not* point to this CarePlan using the \"basedOn\" element.  i.e. Requests that are part of a CarePlan are not \"based on\" the CarePlan.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Appointment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CommunicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Task"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/VisionPrescription"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RequestGroup"
              }
            ],
            "condition": [
              "cpl-3"
            ]
          },
          {
            "id": "CarePlan.activity.detail",
            "path": "CarePlan.activity.detail",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "cpl-3"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.id",
            "path": "CarePlan.activity.detail.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.extension",
            "path": "CarePlan.activity.detail.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.modifierExtension",
            "path": "CarePlan.activity.detail.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CarePlan.activity.detail.category",
            "path": "CarePlan.activity.detail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanActivityCategory"
                }
              ],
              "strength": "example",
              "description": "High-level categorization of the type of activity in a care plan.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-activity-category"
              }
            }
          },
          {
            "id": "CarePlan.activity.detail.definition",
            "path": "CarePlan.activity.detail.definition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Questionnaire"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.code",
            "path": "CarePlan.activity.detail.code",
            "comment": "Tends to be less relevant for activities involving particular products.  Codes should not convey negation - use \"prohibited\" instead.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanActivityType"
                }
              ],
              "strength": "example",
              "description": "Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-activity"
              }
            }
          },
          {
            "id": "CarePlan.activity.detail.reasonCode",
            "path": "CarePlan.activity.detail.reasonCode",
            "comment": "This could be a diagnosis code.  If a full condition record exists or additional detail is needed, use reasonCondition instead.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanActivityReason"
                }
              ],
              "strength": "example",
              "description": "Identifies why a care plan activity is needed.  Can include any health condition codes as well as such concepts as \"general wellness\", prophylaxis, surgical preparation, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/activity-reason"
              }
            }
          },
          {
            "id": "CarePlan.activity.detail.reasonReference",
            "path": "CarePlan.activity.detail.reasonReference",
            "comment": "Conditions can be identified at the activity level that are not identified as reasons for the overall plan.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.goal",
            "path": "CarePlan.activity.detail.goal",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Goal"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.status",
            "path": "CarePlan.activity.detail.status",
            "comment": "Some aspects of status can be inferred based on the resources linked in actionTaken.  Note that \"status\" is only as current as the plan was most recently updated.  \nThe unknown code is not to be used to convey other statuses.  The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the activity.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanActivityStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates where the activity is at in its overall life cycle.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-activity-status"
              }
            }
          },
          {
            "id": "CarePlan.activity.detail.statusReason",
            "path": "CarePlan.activity.detail.statusReason",
            "comment": "Will generally not be present if status is \"complete\".  Be sure to prompt to update this (or at least remove the existing value) if the status is changed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.prohibited",
            "path": "CarePlan.activity.detail.prohibited",
            "comment": "This element is labeled as a modifier because it marks an activity as an activity that is not to be performed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "isModifier": true
          },
          {
            "id": "CarePlan.activity.detail.scheduled[x]",
            "path": "CarePlan.activity.detail.scheduled[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Timing"
              },
              {
                "code": "Period"
              },
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.location",
            "path": "CarePlan.activity.detail.location",
            "comment": "May reference a specific clinical location or may identify a type of location.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.performer",
            "path": "CarePlan.activity.detail.performer",
            "comment": "A performer MAY also be a participant in the care plan.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.product[x]",
            "path": "CarePlan.activity.detail.product[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanProduct"
                }
              ],
              "strength": "example",
              "description": "A product supplied or administered as part of a care plan activity.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "CarePlan.activity.detail.dailyAmount",
            "path": "CarePlan.activity.detail.dailyAmount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.quantity",
            "path": "CarePlan.activity.detail.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.description",
            "path": "CarePlan.activity.detail.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CarePlan.note",
            "path": "CarePlan.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "CarePlan",
            "path": "CarePlan",
            "min": 0,
            "max": "*"
          },
          {
            "id": "CarePlan.identifier",
            "path": "CarePlan.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.definition",
            "path": "CarePlan.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Questionnaire"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.basedOn",
            "path": "CarePlan.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.replaces",
            "path": "CarePlan.replaces",
            "comment": "The replacement could be because the initial care plan was immediately rejected (due to an issue) or because the previous care plan was completed, but the need for the action described by the care plan remains ongoing.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.partOf",
            "path": "CarePlan.partOf",
            "comment": "Each care plan is an independent request, such that having a care plan be part of another care plan can cause issues with cascading statuses.  As such, this element is still being discussed.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.status",
            "path": "CarePlan.status",
            "comment": "The unknown code is not to be used to convey other statuses.  The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the care plan.\n\nThis element is labeled as a modifier because the status contains the code entered-in-error] that marks the plan as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates whether the plan is currently being acted upon, represents future intentions or is now a historical record.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-status"
              }
            }
          },
          {
            "id": "CarePlan.intent",
            "path": "CarePlan.intent",
            "comment": "This element is labeled as a modifier because the intent alters when and how the resource is actually applicable.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanIntent"
                }
              ],
              "strength": "required",
              "description": "Codes indicating the degree of authority/intentionality associated with a care plan",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-intent"
              }
            }
          },
          {
            "id": "CarePlan.category",
            "path": "CarePlan.category",
            "comment": "There may be multiple axis of categorization and one plan may serve multiple purposes.  In some cases, this may be redundant with references to CarePlan.concern.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanCategory"
                }
              ],
              "strength": "example",
              "description": "Identifies what \"kind\" of plan this is to support differentiation between multiple co-existing plans; e.g. \"Home health\", \"psychiatric\", \"asthma\", \"disease management\", etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-category"
              }
            }
          },
          {
            "id": "CarePlan.title",
            "path": "CarePlan.title",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.description",
            "path": "CarePlan.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.subject",
            "path": "CarePlan.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.context",
            "path": "CarePlan.context",
            "comment": "Activities conducted as a result of the care plan may well occur as part of other encounters/episodes.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.period",
            "path": "CarePlan.period",
            "comment": "Any activities scheduled as part of the plan should be constrained to the specified period regardless of whether the activities are planned within a single encounter/episode or across multiple encounters/episodes (e.g. the longitudinal management of a chronic condition).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.author",
            "path": "CarePlan.author",
            "comment": "Collaborative care plans may have multiple authors.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.careTeam",
            "path": "CarePlan.careTeam",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              }
            ]
          },
          {
            "id": "CarePlan.addresses",
            "path": "CarePlan.addresses",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CarePlan.supportingInfo",
            "path": "CarePlan.supportingInfo",
            "comment": "Use \"concern\" to identify specific conditions addressed by the care plan.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "CarePlan.goal",
            "path": "CarePlan.goal",
            "comment": "Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Goal"
              }
            ]
          },
          {
            "id": "CarePlan.activity",
            "path": "CarePlan.activity",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "cpl-3",
                "severity": "error",
                "human": "Provide a reference or detail, not both",
                "expression": "detail.empty() or reference.empty()",
                "xpath": "not(exists(f:detail)) or not(exists(f:reference))"
              }
            ]
          },
          {
            "id": "CarePlan.activity.outcomeCodeableConcept",
            "path": "CarePlan.activity.outcomeCodeableConcept",
            "comment": "Note that this should not duplicate the activity status (e.g. completed or in progress).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanActivityOutcome"
                }
              ],
              "strength": "example",
              "description": "Identifies the results of the activity",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-activity-outcome"
              }
            }
          },
          {
            "id": "CarePlan.activity.outcomeReference",
            "path": "CarePlan.activity.outcomeReference",
            "comment": "The activity outcome is independent of the outcome of the related goal(s).  For example, if the goal is to achieve a target body weight of 150 lb and an activity is defined to diet, then the activity outcome could be calories consumed whereas the goal outcome is an observation for the actual body weight measured.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "CarePlan.activity.progress",
            "path": "CarePlan.activity.progress",
            "comment": "This element should NOT be used to describe the activity to be performed - that occurs either within the resource pointed to by activity.detail.reference or in activity.detail.description.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "CarePlan.activity.reference",
            "path": "CarePlan.activity.reference",
            "comment": "Standard extension exists ([goal-pertainstogoal](extension-goal-pertainstogoal.html)) that allows goals to be referenced from any of the referenced resources in CarePlan.activity.reference.  \rThe goal should be visible when the resource referenced by CarePlan.activity.reference is viewed indepedently from the CarePlan.  Requests that are pointed to by a CarePlan using this element should *not* point to this CarePlan using the \"basedOn\" element.  i.e. Requests that are part of a CarePlan are not \"based on\" the CarePlan.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Appointment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CommunicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Task"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/VisionPrescription"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RequestGroup"
              }
            ],
            "condition": [
              "cpl-3"
            ]
          },
          {
            "id": "CarePlan.activity.detail",
            "path": "CarePlan.activity.detail",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "cpl-3"
            ]
          },
          {
            "id": "CarePlan.activity.detail.category",
            "path": "CarePlan.activity.detail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanActivityCategory"
                }
              ],
              "strength": "example",
              "description": "High-level categorization of the type of activity in a care plan.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-activity-category"
              }
            }
          },
          {
            "id": "CarePlan.activity.detail.definition",
            "path": "CarePlan.activity.detail.definition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Questionnaire"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.code",
            "path": "CarePlan.activity.detail.code",
            "comment": "Tends to be less relevant for activities involving particular products.  Codes should not convey negation - use \"prohibited\" instead.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanActivityType"
                }
              ],
              "strength": "example",
              "description": "Detailed description of the type of activity; e.g. What lab test, what procedure, what kind of encounter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-activity"
              }
            }
          },
          {
            "id": "CarePlan.activity.detail.reasonCode",
            "path": "CarePlan.activity.detail.reasonCode",
            "comment": "This could be a diagnosis code.  If a full condition record exists or additional detail is needed, use reasonCondition instead.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanActivityReason"
                }
              ],
              "strength": "example",
              "description": "Identifies why a care plan activity is needed.  Can include any health condition codes as well as such concepts as \"general wellness\", prophylaxis, surgical preparation, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/activity-reason"
              }
            }
          },
          {
            "id": "CarePlan.activity.detail.reasonReference",
            "path": "CarePlan.activity.detail.reasonReference",
            "comment": "Conditions can be identified at the activity level that are not identified as reasons for the overall plan.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.goal",
            "path": "CarePlan.activity.detail.goal",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Goal"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.status",
            "path": "CarePlan.activity.detail.status",
            "comment": "Some aspects of status can be inferred based on the resources linked in actionTaken.  Note that \"status\" is only as current as the plan was most recently updated.  \nThe unknown code is not to be used to convey other statuses.  The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the activity.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanActivityStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates where the activity is at in its overall life cycle.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-plan-activity-status"
              }
            }
          },
          {
            "id": "CarePlan.activity.detail.statusReason",
            "path": "CarePlan.activity.detail.statusReason",
            "comment": "Will generally not be present if status is \"complete\".  Be sure to prompt to update this (or at least remove the existing value) if the status is changed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.prohibited",
            "path": "CarePlan.activity.detail.prohibited",
            "comment": "This element is labeled as a modifier because it marks an activity as an activity that is not to be performed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "isModifier": true
          },
          {
            "id": "CarePlan.activity.detail.scheduled[x]",
            "path": "CarePlan.activity.detail.scheduled[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Timing"
              },
              {
                "code": "Period"
              },
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.location",
            "path": "CarePlan.activity.detail.location",
            "comment": "May reference a specific clinical location or may identify a type of location.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.performer",
            "path": "CarePlan.activity.detail.performer",
            "comment": "A performer MAY also be a participant in the care plan.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.product[x]",
            "path": "CarePlan.activity.detail.product[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CarePlanProduct"
                }
              ],
              "strength": "example",
              "description": "A product supplied or administered as part of a care plan activity.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "CarePlan.activity.detail.dailyAmount",
            "path": "CarePlan.activity.detail.dailyAmount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.quantity",
            "path": "CarePlan.activity.detail.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "CarePlan.activity.detail.description",
            "path": "CarePlan.activity.detail.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CarePlan.note",
            "path": "CarePlan.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/CareTeam",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "CareTeam",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/CareTeam",
      "name": "CareTeam",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "CareTeam",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "CareTeam",
            "path": "CareTeam",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "CareTeam.id",
            "path": "CareTeam.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.meta",
            "path": "CareTeam.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.implicitRules",
            "path": "CareTeam.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CareTeam.language",
            "path": "CareTeam.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "CareTeam.text",
            "path": "CareTeam.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "CareTeam.contained",
            "path": "CareTeam.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "CareTeam.extension",
            "path": "CareTeam.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CareTeam.modifierExtension",
            "path": "CareTeam.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "CareTeam.identifier",
            "path": "CareTeam.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.status",
            "path": "CareTeam.status",
            "comment": "This element is labeled as a modifier because the status contains the code entered-in-error that marks the care team as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CareTeamStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates the status of the care team.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-team-status"
              }
            }
          },
          {
            "id": "CareTeam.category",
            "path": "CareTeam.category",
            "comment": "There may be multiple axis of categorization and one team may serve multiple purposes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CareTeamCategory"
                }
              ],
              "strength": "example",
              "description": "Indicates the type of care team.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-team-category"
              }
            }
          },
          {
            "id": "CareTeam.name",
            "path": "CareTeam.name",
            "comment": "The meaning/purpose of the team is conveyed in CareTeam.category.  This element may also convey semantics of the team (e.g. \"Red trauma team\"), but its primary purpose is to distinguish between identical teams in a human-friendly way.  (\"Team 18735\" isn't as friendly . ).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.subject",
            "path": "CareTeam.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.context",
            "path": "CareTeam.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.period",
            "path": "CareTeam.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.participant",
            "path": "CareTeam.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "ctm-1"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "ctm-1",
                "severity": "error",
                "human": "CareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner",
                "expression": "onBehalfOf.exists() implies (member.resolve() is Practitioner)",
                "xpath": "contains(f:member/f:reference/@value, '/Practitioner/') or not(exists(f:onBehalfOf))"
              }
            ]
          },
          {
            "id": "CareTeam.participant.id",
            "path": "CareTeam.participant.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CareTeam.participant.extension",
            "path": "CareTeam.participant.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CareTeam.participant.modifierExtension",
            "path": "CareTeam.participant.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CareTeam.participant.role",
            "path": "CareTeam.participant.role",
            "comment": "Roles may sometimes be inferred by type of Practitioner.  These are relationships that hold only within the context of the care team.  General relationships should be handled as properties of the Patient resource directly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CareTeamParticipantRole"
                }
              ],
              "strength": "example",
              "description": "Indicates specific responsibility of an individual within the care team, such as \"Primary physician\", \"Team coordinator\", \"Caregiver\", etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/participant-role"
              }
            }
          },
          {
            "id": "CareTeam.participant.member",
            "path": "CareTeam.participant.member",
            "comment": "Patient only needs to be listed if they have a role other than \"subject of care\".\n\nMember is optional because some participants may be known only by their role, particularly in draft plans.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.participant.onBehalfOf",
            "path": "CareTeam.participant.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.participant.period",
            "path": "CareTeam.participant.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "CareTeam.reasonCode",
            "path": "CareTeam.reasonCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CareTeamReason"
                }
              ],
              "strength": "example",
              "description": "Indicates the reason for the care team.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "CareTeam.reasonReference",
            "path": "CareTeam.reasonReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ]
          },
          {
            "id": "CareTeam.managingOrganization",
            "path": "CareTeam.managingOrganization",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.note",
            "path": "CareTeam.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "CareTeam",
            "path": "CareTeam",
            "min": 0,
            "max": "*"
          },
          {
            "id": "CareTeam.identifier",
            "path": "CareTeam.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.status",
            "path": "CareTeam.status",
            "comment": "This element is labeled as a modifier because the status contains the code entered-in-error that marks the care team as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CareTeamStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates the status of the care team.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-team-status"
              }
            }
          },
          {
            "id": "CareTeam.category",
            "path": "CareTeam.category",
            "comment": "There may be multiple axis of categorization and one team may serve multiple purposes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CareTeamCategory"
                }
              ],
              "strength": "example",
              "description": "Indicates the type of care team.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/care-team-category"
              }
            }
          },
          {
            "id": "CareTeam.name",
            "path": "CareTeam.name",
            "comment": "The meaning/purpose of the team is conveyed in CareTeam.category.  This element may also convey semantics of the team (e.g. \"Red trauma team\"), but its primary purpose is to distinguish between identical teams in a human-friendly way.  (\"Team 18735\" isn't as friendly . ).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.subject",
            "path": "CareTeam.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.context",
            "path": "CareTeam.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.period",
            "path": "CareTeam.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.participant",
            "path": "CareTeam.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "ctm-1"
            ],
            "constraint": [
              {
                "key": "ctm-1",
                "severity": "error",
                "human": "CareTeam.participant.onBehalfOf can only be populated when CareTeam.participant.member is a Practitioner",
                "expression": "onBehalfOf.exists() implies (member.resolve() is Practitioner)",
                "xpath": "contains(f:member/f:reference/@value, '/Practitioner/') or not(exists(f:onBehalfOf))"
              }
            ]
          },
          {
            "id": "CareTeam.participant.role",
            "path": "CareTeam.participant.role",
            "comment": "Roles may sometimes be inferred by type of Practitioner.  These are relationships that hold only within the context of the care team.  General relationships should be handled as properties of the Patient resource directly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CareTeamParticipantRole"
                }
              ],
              "strength": "example",
              "description": "Indicates specific responsibility of an individual within the care team, such as \"Primary physician\", \"Team coordinator\", \"Caregiver\", etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/participant-role"
              }
            }
          },
          {
            "id": "CareTeam.participant.member",
            "path": "CareTeam.participant.member",
            "comment": "Patient only needs to be listed if they have a role other than \"subject of care\".\n\nMember is optional because some participants may be known only by their role, particularly in draft plans.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.participant.onBehalfOf",
            "path": "CareTeam.participant.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.participant.period",
            "path": "CareTeam.participant.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "CareTeam.reasonCode",
            "path": "CareTeam.reasonCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CareTeamReason"
                }
              ],
              "strength": "example",
              "description": "Indicates the reason for the care team.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "CareTeam.reasonReference",
            "path": "CareTeam.reasonReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ]
          },
          {
            "id": "CareTeam.managingOrganization",
            "path": "CareTeam.managingOrganization",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CareTeam.note",
            "path": "CareTeam.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ChargeItem",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ChargeItem",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ChargeItem",
      "name": "ChargeItem",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ChargeItem",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ChargeItem",
            "path": "ChargeItem",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ChargeItem.id",
            "path": "ChargeItem.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.meta",
            "path": "ChargeItem.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.implicitRules",
            "path": "ChargeItem.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ChargeItem.language",
            "path": "ChargeItem.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ChargeItem.text",
            "path": "ChargeItem.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ChargeItem.contained",
            "path": "ChargeItem.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ChargeItem.extension",
            "path": "ChargeItem.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ChargeItem.modifierExtension",
            "path": "ChargeItem.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ChargeItem.identifier",
            "path": "ChargeItem.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.definition",
            "path": "ChargeItem.definition",
            "comment": "Target Resource is yet to be defined as a container that holds information about list prices and rules applicable to the charge item code. Once defined, change type back to Reference(Definition Type).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.status",
            "path": "ChargeItem.status",
            "comment": "Unknown does not represent \"other\" - one of the defined statuses must apply.  Unknown is used when the authoring system is not sure what the current status is.\n\nThis element is labeled as a modifier because the status contains the code entered-in-error that marks the charge item as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ChargeItemStatus"
                }
              ],
              "strength": "required",
              "description": "Codes identifying the stage lifecycle stage of a ChargeItem",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/chargeitem-status"
              }
            }
          },
          {
            "id": "ChargeItem.partOf",
            "path": "ChargeItem.partOf",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ChargeItem"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.code",
            "path": "ChargeItem.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ChargeItemCode"
                }
              ],
              "strength": "example",
              "description": "Example set of codes that can be used for billing purposes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/chargeitem-billingcodes"
              }
            }
          },
          {
            "id": "ChargeItem.subject",
            "path": "ChargeItem.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.context",
            "path": "ChargeItem.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.occurrence[x]",
            "path": "ChargeItem.occurrence[x]",
            "comment": "The list of types may be constrained as appropriate for the type of charge item.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Timing"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.participant",
            "path": "ChargeItem.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.participant.id",
            "path": "ChargeItem.participant.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ChargeItem.participant.extension",
            "path": "ChargeItem.participant.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ChargeItem.participant.modifierExtension",
            "path": "ChargeItem.participant.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ChargeItem.participant.role",
            "path": "ChargeItem.participant.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": false,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ChargeItemPerformerRole"
                }
              ],
              "strength": "example",
              "description": "Codes describing the types of functional roles performers can take on when performing events",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/performer-role"
              }
            }
          },
          {
            "id": "ChargeItem.participant.actor",
            "path": "ChargeItem.participant.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.performingOrganization",
            "path": "ChargeItem.performingOrganization",
            "comment": "Practitioners and Devices can be associated with multiple organizations. It has to be made clear, on behalf of which Organization the services have been rendered.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.requestingOrganization",
            "path": "ChargeItem.requestingOrganization",
            "comment": "The rendered Service may not be associated with a Request. It has to be made clear, ob which Organization's Request, the services have been rendered. (In many cases, this may just be the Department associated with the Encounter.location).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.quantity",
            "path": "ChargeItem.quantity",
            "comment": "In many cases this may just be a value, if the underlying units are implicit in the definition of the charge item code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.bodysite",
            "path": "ChargeItem.bodysite",
            "comment": "Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [body-site-instance](extension-body-site-instance.html).  May be a summary code, or a reference to a very precise definition of the location, or both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "ChargeItem.factorOverride",
            "path": "ChargeItem.factorOverride",
            "comment": "There is no reason to carry the factor in the instance of a ChargeItem unless special circumstances require a manual override. The factors are usually defined by a set of rules in a back catalogue of the billing codes  (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overriden.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.priceOverride",
            "path": "ChargeItem.priceOverride",
            "comment": "There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes  (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overriden.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.overrideReason",
            "path": "ChargeItem.overrideReason",
            "comment": "Derived Profiles may chose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.enterer",
            "path": "ChargeItem.enterer",
            "comment": "The enterer is also te person considered responsible for factor/priceOverrides if applicable.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.enteredDate",
            "path": "ChargeItem.enteredDate",
            "comment": "The actual date when the service associated with the charge has been rendered is captured in occurrence[x].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.reason",
            "path": "ChargeItem.reason",
            "comment": "If the application of the charge item requires a reason to be given, it can be captured here. Textual reasons can be captured using reasonCode.text.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": false,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ChargeItemReason"
                }
              ],
              "strength": "example",
              "description": "Example binding for reason",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/icd-10"
              }
            }
          },
          {
            "id": "ChargeItem.service",
            "path": "ChargeItem.service",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingStudy"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Immunization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationDispense"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/SupplyDelivery"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.account",
            "path": "ChargeItem.account",
            "comment": "Systems posting the ChargeItems may not always be able to determine, which accounts the Items need to be places into. It is up to the potprocessing Financial System to apply internal rules to decide based on the Encounter/EpisodeOfCare/Patient/Coverage context and the type of ChargeItem, which Account is appropriate.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Account"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.note",
            "path": "ChargeItem.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.supportingInformation",
            "path": "ChargeItem.supportingInformation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": false
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ChargeItem",
            "path": "ChargeItem",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ChargeItem.identifier",
            "path": "ChargeItem.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.definition",
            "path": "ChargeItem.definition",
            "comment": "Target Resource is yet to be defined as a container that holds information about list prices and rules applicable to the charge item code. Once defined, change type back to Reference(Definition Type).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.status",
            "path": "ChargeItem.status",
            "comment": "Unknown does not represent \"other\" - one of the defined statuses must apply.  Unknown is used when the authoring system is not sure what the current status is.\n\nThis element is labeled as a modifier because the status contains the code entered-in-error that marks the charge item as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ChargeItemStatus"
                }
              ],
              "strength": "required",
              "description": "Codes identifying the stage lifecycle stage of a ChargeItem",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/chargeitem-status"
              }
            }
          },
          {
            "id": "ChargeItem.partOf",
            "path": "ChargeItem.partOf",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ChargeItem"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.code",
            "path": "ChargeItem.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ChargeItemCode"
                }
              ],
              "strength": "example",
              "description": "Example set of codes that can be used for billing purposes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/chargeitem-billingcodes"
              }
            }
          },
          {
            "id": "ChargeItem.subject",
            "path": "ChargeItem.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.context",
            "path": "ChargeItem.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.occurrence[x]",
            "path": "ChargeItem.occurrence[x]",
            "comment": "The list of types may be constrained as appropriate for the type of charge item.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Timing"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.participant",
            "path": "ChargeItem.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.participant.role",
            "path": "ChargeItem.participant.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": false,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ChargeItemPerformerRole"
                }
              ],
              "strength": "example",
              "description": "Codes describing the types of functional roles performers can take on when performing events",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/performer-role"
              }
            }
          },
          {
            "id": "ChargeItem.participant.actor",
            "path": "ChargeItem.participant.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.performingOrganization",
            "path": "ChargeItem.performingOrganization",
            "comment": "Practitioners and Devices can be associated with multiple organizations. It has to be made clear, on behalf of which Organization the services have been rendered.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.requestingOrganization",
            "path": "ChargeItem.requestingOrganization",
            "comment": "The rendered Service may not be associated with a Request. It has to be made clear, ob which Organization's Request, the services have been rendered. (In many cases, this may just be the Department associated with the Encounter.location).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.quantity",
            "path": "ChargeItem.quantity",
            "comment": "In many cases this may just be a value, if the underlying units are implicit in the definition of the charge item code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.bodysite",
            "path": "ChargeItem.bodysite",
            "comment": "Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [body-site-instance](extension-body-site-instance.html).  May be a summary code, or a reference to a very precise definition of the location, or both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "ChargeItem.factorOverride",
            "path": "ChargeItem.factorOverride",
            "comment": "There is no reason to carry the factor in the instance of a ChargeItem unless special circumstances require a manual override. The factors are usually defined by a set of rules in a back catalogue of the billing codes  (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overriden.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.priceOverride",
            "path": "ChargeItem.priceOverride",
            "comment": "There is no reason to carry the price in the instance of a ChargeItem unless circumstances require a manual override. The list prices or are usually defined in a back catalogue of the billing codes  (see ChargeItem.definition). Derived profiles may require a ChargeItem.overrideReason to be provided if either factor or price are manually overriden.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.overrideReason",
            "path": "ChargeItem.overrideReason",
            "comment": "Derived Profiles may chose to add invariants requiring this field to be populated if either priceOverride or factorOverride have been filled.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.enterer",
            "path": "ChargeItem.enterer",
            "comment": "The enterer is also te person considered responsible for factor/priceOverrides if applicable.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.enteredDate",
            "path": "ChargeItem.enteredDate",
            "comment": "The actual date when the service associated with the charge has been rendered is captured in occurrence[x].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.reason",
            "path": "ChargeItem.reason",
            "comment": "If the application of the charge item requires a reason to be given, it can be captured here. Textual reasons can be captured using reasonCode.text.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": false,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ChargeItemReason"
                }
              ],
              "strength": "example",
              "description": "Example binding for reason",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/icd-10"
              }
            }
          },
          {
            "id": "ChargeItem.service",
            "path": "ChargeItem.service",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingStudy"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Immunization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationDispense"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/SupplyDelivery"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.account",
            "path": "ChargeItem.account",
            "comment": "Systems posting the ChargeItems may not always be able to determine, which accounts the Items need to be places into. It is up to the potprocessing Financial System to apply internal rules to decide based on the Encounter/EpisodeOfCare/Patient/Coverage context and the type of ChargeItem, which Account is appropriate.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Account"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ChargeItem.note",
            "path": "ChargeItem.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ],
            "isSummary": false
          },
          {
            "id": "ChargeItem.supportingInformation",
            "path": "ChargeItem.supportingInformation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": false
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Claim",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Claim",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Claim",
      "name": "Claim",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Claim",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Claim",
            "path": "Claim",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Claim.id",
            "path": "Claim.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Claim.meta",
            "path": "Claim.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Claim.implicitRules",
            "path": "Claim.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Claim.language",
            "path": "Claim.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Claim.text",
            "path": "Claim.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Claim.contained",
            "path": "Claim.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Claim.extension",
            "path": "Claim.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Claim.modifierExtension",
            "path": "Claim.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Claim.identifier",
            "path": "Claim.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Claim.status",
            "path": "Claim.status",
            "comment": "This element is labeled as a modifier because the status contains the code entered-in-error that marks the claim as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "Claim.type",
            "path": "Claim.type",
            "comment": "Affects which fields and value sets are used.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimType"
                }
              ],
              "strength": "required",
              "description": "The type or discipline-style of the claim",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-type"
              }
            }
          },
          {
            "id": "Claim.subType",
            "path": "Claim.subType",
            "comment": "This may contain the local bill type codes such as the US UB-04 bill type code.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimSubType"
                }
              ],
              "strength": "example",
              "description": "A more granular claim typecode",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-subtype"
              }
            }
          },
          {
            "id": "Claim.use",
            "path": "Claim.use",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Use"
                }
              ],
              "strength": "required",
              "description": "Complete, proposed, exploratory, other",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-use"
              }
            }
          },
          {
            "id": "Claim.patient",
            "path": "Claim.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "Claim.billablePeriod",
            "path": "Claim.billablePeriod",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Claim.created",
            "path": "Claim.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Claim.enterer",
            "path": "Claim.enterer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "Claim.insurer",
            "path": "Claim.insurer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Claim.provider",
            "path": "Claim.provider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "Claim.organization",
            "path": "Claim.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Claim.priority",
            "path": "Claim.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcessPriority"
                }
              ],
              "strength": "example",
              "description": "The timeliness with which processing is required: STAT, normal, Deferred",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/process-priority"
              }
            }
          },
          {
            "id": "Claim.fundsReserve",
            "path": "Claim.fundsReserve",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FundsReserve"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "For whom funds are to be reserved: (Patient, Provider, None).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fundsreserve"
              }
            }
          },
          {
            "id": "Claim.related",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "RelatedClaim"
              }
            ],
            "path": "Claim.related",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Claim.related.id",
            "path": "Claim.related.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.related.extension",
            "path": "Claim.related.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Claim.related.modifierExtension",
            "path": "Claim.related.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Claim.related.claim",
            "path": "Claim.related.claim",
            "comment": "Do we need a relationship code?",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Claim"
              }
            ]
          },
          {
            "id": "Claim.related.relationship",
            "path": "Claim.related.relationship",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RelatedClaimRelationship"
                }
              ],
              "strength": "example",
              "description": "Relationship of this claim to a related Claim",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/related-claim-relationship"
              }
            }
          },
          {
            "id": "Claim.related.reference",
            "path": "Claim.related.reference",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Claim.prescription",
            "path": "Claim.prescription",
            "comment": "Should we create a group to hold multiple prescriptions and add a sequence number and on the line items a link to the sequence.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/VisionPrescription"
              }
            ]
          },
          {
            "id": "Claim.originalPrescription",
            "path": "Claim.originalPrescription",
            "comment": "as above.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              }
            ]
          },
          {
            "id": "Claim.payee",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Payee"
              }
            ],
            "path": "Claim.payee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Claim.payee.id",
            "path": "Claim.payee.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.payee.extension",
            "path": "Claim.payee.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Claim.payee.modifierExtension",
            "path": "Claim.payee.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Claim.payee.type",
            "path": "Claim.payee.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PayeeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "A code for the party to be reimbursed.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payeetype"
              }
            }
          },
          {
            "id": "Claim.payee.resourceType",
            "path": "Claim.payee.resourceType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimPayeeResourceType"
                }
              ],
              "strength": "example",
              "description": "The type of Claim payee Resource",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-payee-resource-type"
              }
            }
          },
          {
            "id": "Claim.payee.party",
            "path": "Claim.payee.party",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "Claim.referral",
            "path": "Claim.referral",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ]
          },
          {
            "id": "Claim.facility",
            "path": "Claim.facility",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Claim.careTeam",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "CareTeam"
              }
            ],
            "path": "Claim.careTeam",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Claim.careTeam.id",
            "path": "Claim.careTeam.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.careTeam.extension",
            "path": "Claim.careTeam.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Claim.careTeam.modifierExtension",
            "path": "Claim.careTeam.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Claim.careTeam.sequence",
            "path": "Claim.careTeam.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.careTeam.provider",
            "path": "Claim.careTeam.provider",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Claim.careTeam.responsible",
            "path": "Claim.careTeam.responsible",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Claim.careTeam.role",
            "path": "Claim.careTeam.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CareTeamRole"
                }
              ],
              "strength": "example",
              "description": "The role codes for the care team members.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-careteamrole"
              }
            }
          },
          {
            "id": "Claim.careTeam.qualification",
            "path": "Claim.careTeam.qualification",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProviderQualification"
                }
              ],
              "strength": "example",
              "description": "Provider professional qualifications",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/provider-qualification"
              }
            }
          },
          {
            "id": "Claim.information",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SpecialCondition"
              }
            ],
            "path": "Claim.information",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Claim.information.id",
            "path": "Claim.information.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.information.extension",
            "path": "Claim.information.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Claim.information.modifierExtension",
            "path": "Claim.information.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Claim.information.sequence",
            "path": "Claim.information.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.information.category",
            "path": "Claim.information.category",
            "comment": "This may contain the local bill type codes such as the US UB-04 bill type code.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InformationCategory"
                }
              ],
              "strength": "example",
              "description": "The valuset used for additional information category codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-informationcategory"
              }
            }
          },
          {
            "id": "Claim.information.code",
            "path": "Claim.information.code",
            "comment": "This may contain the local bill type codes such as the US UB-04 bill type code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InformationCode"
                }
              ],
              "strength": "example",
              "description": "The valuset used for additional information codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-exception"
              }
            }
          },
          {
            "id": "Claim.information.timing[x]",
            "path": "Claim.information.timing[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Claim.information.value[x]",
            "path": "Claim.information.value[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "Claim.information.reason",
            "path": "Claim.information.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MissingReason"
                }
              ],
              "strength": "example",
              "description": "Reason codes for the missing teeth",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/missing-tooth-reason"
              }
            }
          },
          {
            "id": "Claim.diagnosis",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Diagnosis"
              }
            ],
            "path": "Claim.diagnosis",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Claim.diagnosis.id",
            "path": "Claim.diagnosis.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.diagnosis.extension",
            "path": "Claim.diagnosis.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Claim.diagnosis.modifierExtension",
            "path": "Claim.diagnosis.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Claim.diagnosis.sequence",
            "path": "Claim.diagnosis.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.diagnosis.diagnosis[x]",
            "path": "Claim.diagnosis.diagnosis[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ICD10"
                }
              ],
              "strength": "example",
              "description": "ICD10 Diagnostic codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/icd-10"
              }
            }
          },
          {
            "id": "Claim.diagnosis.type",
            "path": "Claim.diagnosis.type",
            "comment": "Diagnosis are presented in list order to their expected importance: primary, secondary, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosisType"
                }
              ],
              "strength": "example",
              "description": "The type of the diagnosis: admitting, principal, discharge",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-diagnosistype"
              }
            }
          },
          {
            "id": "Claim.diagnosis.packageCode",
            "path": "Claim.diagnosis.packageCode",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosisRelatedGroup"
                }
              ],
              "strength": "example",
              "description": "The DRG codes associated with the diagnosis",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-diagnosisrelatedgroup"
              }
            }
          },
          {
            "id": "Claim.procedure",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Procedure"
              }
            ],
            "path": "Claim.procedure",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Claim.procedure.id",
            "path": "Claim.procedure.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.procedure.extension",
            "path": "Claim.procedure.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Claim.procedure.modifierExtension",
            "path": "Claim.procedure.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Claim.procedure.sequence",
            "path": "Claim.procedure.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.procedure.date",
            "path": "Claim.procedure.date",
            "comment": "SB DateTime??",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Claim.procedure.procedure[x]",
            "path": "Claim.procedure.procedure[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ICD10_Procedures"
                }
              ],
              "strength": "example",
              "description": "ICD10 Procedure codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/icd-10-procedures"
              }
            }
          },
          {
            "id": "Claim.insurance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Insurance"
              }
            ],
            "path": "Claim.insurance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Claim.insurance.id",
            "path": "Claim.insurance.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.insurance.extension",
            "path": "Claim.insurance.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Claim.insurance.modifierExtension",
            "path": "Claim.insurance.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Claim.insurance.sequence",
            "path": "Claim.insurance.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.insurance.focal",
            "path": "Claim.insurance.focal",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Claim.insurance.coverage",
            "path": "Claim.insurance.coverage",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ]
          },
          {
            "id": "Claim.insurance.businessArrangement",
            "path": "Claim.insurance.businessArrangement",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.insurance.preAuthRef",
            "path": "Claim.insurance.preAuthRef",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.insurance.claimResponse",
            "path": "Claim.insurance.claimResponse",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ClaimResponse"
              }
            ]
          },
          {
            "id": "Claim.accident",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Accident"
              }
            ],
            "path": "Claim.accident",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Claim.accident.id",
            "path": "Claim.accident.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.accident.extension",
            "path": "Claim.accident.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Claim.accident.modifierExtension",
            "path": "Claim.accident.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Claim.accident.date",
            "path": "Claim.accident.date",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Claim.accident.type",
            "path": "Claim.accident.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AccidentType"
                }
              ],
              "strength": "required",
              "description": "Type of accident: work place, auto, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActIncidentCode"
              }
            }
          },
          {
            "id": "Claim.accident.location[x]",
            "path": "Claim.accident.location[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Address"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Claim.employmentImpacted",
            "path": "Claim.employmentImpacted",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Claim.hospitalization",
            "path": "Claim.hospitalization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Claim.item",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Item"
              }
            ],
            "path": "Claim.item",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Claim.item.id",
            "path": "Claim.item.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.item.extension",
            "path": "Claim.item.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Claim.item.modifierExtension",
            "path": "Claim.item.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Claim.item.sequence",
            "path": "Claim.item.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.careTeamLinkId",
            "path": "Claim.item.careTeamLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.diagnosisLinkId",
            "path": "Claim.item.diagnosisLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.procedureLinkId",
            "path": "Claim.item.procedureLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.informationLinkId",
            "path": "Claim.item.informationLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.revenue",
            "path": "Claim.item.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "Claim.item.category",
            "path": "Claim.item.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "Claim.item.service",
            "path": "Claim.item.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "Claim.item.modifier",
            "path": "Claim.item.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "Claim.item.programCode",
            "path": "Claim.item.programCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProgramCode"
                }
              ],
              "strength": "example",
              "description": "Program specific reason codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-program-code"
              }
            }
          },
          {
            "id": "Claim.item.serviced[x]",
            "path": "Claim.item.serviced[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Claim.item.location[x]",
            "path": "Claim.item.location[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Address"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServicePlace"
                }
              ],
              "strength": "example",
              "description": "Place of service: pharmacy,school, prison, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-place"
              }
            }
          },
          {
            "id": "Claim.item.quantity",
            "path": "Claim.item.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Claim.item.unitPrice",
            "path": "Claim.item.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Claim.item.factor",
            "path": "Claim.item.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Claim.item.net",
            "path": "Claim.item.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Claim.item.udi",
            "path": "Claim.item.udi",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "Claim.item.bodySite",
            "path": "Claim.item.bodySite",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OralSites"
                }
              ],
              "strength": "example",
              "description": "The code for the teeth, quadrant, sextant and arch",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/tooth"
              }
            }
          },
          {
            "id": "Claim.item.subSite",
            "path": "Claim.item.subSite",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Surface"
                }
              ],
              "strength": "example",
              "description": "The code for the tooth surface and surface combinations",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/surface"
              }
            }
          },
          {
            "id": "Claim.item.encounter",
            "path": "Claim.item.encounter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          },
          {
            "id": "Claim.item.detail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Detail"
              }
            ],
            "path": "Claim.item.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Claim.item.detail.id",
            "path": "Claim.item.detail.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.item.detail.extension",
            "path": "Claim.item.detail.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Claim.item.detail.modifierExtension",
            "path": "Claim.item.detail.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Claim.item.detail.sequence",
            "path": "Claim.item.detail.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.detail.revenue",
            "path": "Claim.item.detail.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "Claim.item.detail.category",
            "path": "Claim.item.detail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "Claim.item.detail.service",
            "path": "Claim.item.detail.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "Claim.item.detail.modifier",
            "path": "Claim.item.detail.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "Claim.item.detail.programCode",
            "path": "Claim.item.detail.programCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProgramCode"
                }
              ],
              "strength": "example",
              "description": "Program specific reason codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-program-code"
              }
            }
          },
          {
            "id": "Claim.item.detail.quantity",
            "path": "Claim.item.detail.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Claim.item.detail.unitPrice",
            "path": "Claim.item.detail.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Claim.item.detail.factor",
            "path": "Claim.item.detail.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Claim.item.detail.net",
            "path": "Claim.item.detail.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Claim.item.detail.udi",
            "path": "Claim.item.detail.udi",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SubDetail"
              }
            ],
            "path": "Claim.item.detail.subDetail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.id",
            "path": "Claim.item.detail.subDetail.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.extension",
            "path": "Claim.item.detail.subDetail.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.modifierExtension",
            "path": "Claim.item.detail.subDetail.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Claim.item.detail.subDetail.sequence",
            "path": "Claim.item.detail.subDetail.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.revenue",
            "path": "Claim.item.detail.subDetail.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "Claim.item.detail.subDetail.category",
            "path": "Claim.item.detail.subDetail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "Claim.item.detail.subDetail.service",
            "path": "Claim.item.detail.subDetail.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "Claim.item.detail.subDetail.modifier",
            "path": "Claim.item.detail.subDetail.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "Claim.item.detail.subDetail.programCode",
            "path": "Claim.item.detail.subDetail.programCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProgramCode"
                }
              ],
              "strength": "example",
              "description": "Program specific reason codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-program-code"
              }
            }
          },
          {
            "id": "Claim.item.detail.subDetail.quantity",
            "path": "Claim.item.detail.subDetail.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.unitPrice",
            "path": "Claim.item.detail.subDetail.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.factor",
            "path": "Claim.item.detail.subDetail.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.net",
            "path": "Claim.item.detail.subDetail.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.udi",
            "path": "Claim.item.detail.subDetail.udi",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "Claim.total",
            "path": "Claim.total",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Claim",
            "path": "Claim",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Claim.identifier",
            "path": "Claim.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Claim.status",
            "path": "Claim.status",
            "comment": "This element is labeled as a modifier because the status contains the code entered-in-error that marks the claim as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "Claim.type",
            "path": "Claim.type",
            "comment": "Affects which fields and value sets are used.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimType"
                }
              ],
              "strength": "required",
              "description": "The type or discipline-style of the claim",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-type"
              }
            }
          },
          {
            "id": "Claim.subType",
            "path": "Claim.subType",
            "comment": "This may contain the local bill type codes such as the US UB-04 bill type code.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimSubType"
                }
              ],
              "strength": "example",
              "description": "A more granular claim typecode",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-subtype"
              }
            }
          },
          {
            "id": "Claim.use",
            "path": "Claim.use",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Use"
                }
              ],
              "strength": "required",
              "description": "Complete, proposed, exploratory, other",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-use"
              }
            }
          },
          {
            "id": "Claim.patient",
            "path": "Claim.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "Claim.billablePeriod",
            "path": "Claim.billablePeriod",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Claim.created",
            "path": "Claim.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Claim.enterer",
            "path": "Claim.enterer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "Claim.insurer",
            "path": "Claim.insurer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Claim.provider",
            "path": "Claim.provider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "Claim.organization",
            "path": "Claim.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Claim.priority",
            "path": "Claim.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcessPriority"
                }
              ],
              "strength": "example",
              "description": "The timeliness with which processing is required: STAT, normal, Deferred",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/process-priority"
              }
            }
          },
          {
            "id": "Claim.fundsReserve",
            "path": "Claim.fundsReserve",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FundsReserve"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "For whom funds are to be reserved: (Patient, Provider, None).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fundsreserve"
              }
            }
          },
          {
            "id": "Claim.related",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "RelatedClaim"
              }
            ],
            "path": "Claim.related",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Claim.related.claim",
            "path": "Claim.related.claim",
            "comment": "Do we need a relationship code?",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Claim"
              }
            ]
          },
          {
            "id": "Claim.related.relationship",
            "path": "Claim.related.relationship",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RelatedClaimRelationship"
                }
              ],
              "strength": "example",
              "description": "Relationship of this claim to a related Claim",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/related-claim-relationship"
              }
            }
          },
          {
            "id": "Claim.related.reference",
            "path": "Claim.related.reference",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Claim.prescription",
            "path": "Claim.prescription",
            "comment": "Should we create a group to hold multiple prescriptions and add a sequence number and on the line items a link to the sequence.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/VisionPrescription"
              }
            ]
          },
          {
            "id": "Claim.originalPrescription",
            "path": "Claim.originalPrescription",
            "comment": "as above.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              }
            ]
          },
          {
            "id": "Claim.payee",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Payee"
              }
            ],
            "path": "Claim.payee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Claim.payee.type",
            "path": "Claim.payee.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PayeeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "A code for the party to be reimbursed.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payeetype"
              }
            }
          },
          {
            "id": "Claim.payee.resourceType",
            "path": "Claim.payee.resourceType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimPayeeResourceType"
                }
              ],
              "strength": "example",
              "description": "The type of Claim payee Resource",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-payee-resource-type"
              }
            }
          },
          {
            "id": "Claim.payee.party",
            "path": "Claim.payee.party",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "Claim.referral",
            "path": "Claim.referral",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ]
          },
          {
            "id": "Claim.facility",
            "path": "Claim.facility",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Claim.careTeam",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "CareTeam"
              }
            ],
            "path": "Claim.careTeam",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Claim.careTeam.sequence",
            "path": "Claim.careTeam.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.careTeam.provider",
            "path": "Claim.careTeam.provider",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Claim.careTeam.responsible",
            "path": "Claim.careTeam.responsible",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Claim.careTeam.role",
            "path": "Claim.careTeam.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CareTeamRole"
                }
              ],
              "strength": "example",
              "description": "The role codes for the care team members.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-careteamrole"
              }
            }
          },
          {
            "id": "Claim.careTeam.qualification",
            "path": "Claim.careTeam.qualification",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProviderQualification"
                }
              ],
              "strength": "example",
              "description": "Provider professional qualifications",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/provider-qualification"
              }
            }
          },
          {
            "id": "Claim.information",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SpecialCondition"
              }
            ],
            "path": "Claim.information",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Claim.information.sequence",
            "path": "Claim.information.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.information.category",
            "path": "Claim.information.category",
            "comment": "This may contain the local bill type codes such as the US UB-04 bill type code.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InformationCategory"
                }
              ],
              "strength": "example",
              "description": "The valuset used for additional information category codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-informationcategory"
              }
            }
          },
          {
            "id": "Claim.information.code",
            "path": "Claim.information.code",
            "comment": "This may contain the local bill type codes such as the US UB-04 bill type code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InformationCode"
                }
              ],
              "strength": "example",
              "description": "The valuset used for additional information codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-exception"
              }
            }
          },
          {
            "id": "Claim.information.timing[x]",
            "path": "Claim.information.timing[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Claim.information.value[x]",
            "path": "Claim.information.value[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "Claim.information.reason",
            "path": "Claim.information.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MissingReason"
                }
              ],
              "strength": "example",
              "description": "Reason codes for the missing teeth",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/missing-tooth-reason"
              }
            }
          },
          {
            "id": "Claim.diagnosis",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Diagnosis"
              }
            ],
            "path": "Claim.diagnosis",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Claim.diagnosis.sequence",
            "path": "Claim.diagnosis.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.diagnosis.diagnosis[x]",
            "path": "Claim.diagnosis.diagnosis[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ICD10"
                }
              ],
              "strength": "example",
              "description": "ICD10 Diagnostic codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/icd-10"
              }
            }
          },
          {
            "id": "Claim.diagnosis.type",
            "path": "Claim.diagnosis.type",
            "comment": "Diagnosis are presented in list order to their expected importance: primary, secondary, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosisType"
                }
              ],
              "strength": "example",
              "description": "The type of the diagnosis: admitting, principal, discharge",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-diagnosistype"
              }
            }
          },
          {
            "id": "Claim.diagnosis.packageCode",
            "path": "Claim.diagnosis.packageCode",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosisRelatedGroup"
                }
              ],
              "strength": "example",
              "description": "The DRG codes associated with the diagnosis",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-diagnosisrelatedgroup"
              }
            }
          },
          {
            "id": "Claim.procedure",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Procedure"
              }
            ],
            "path": "Claim.procedure",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Claim.procedure.sequence",
            "path": "Claim.procedure.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.procedure.date",
            "path": "Claim.procedure.date",
            "comment": "SB DateTime??",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Claim.procedure.procedure[x]",
            "path": "Claim.procedure.procedure[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ICD10_Procedures"
                }
              ],
              "strength": "example",
              "description": "ICD10 Procedure codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/icd-10-procedures"
              }
            }
          },
          {
            "id": "Claim.insurance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Insurance"
              }
            ],
            "path": "Claim.insurance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Claim.insurance.sequence",
            "path": "Claim.insurance.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.insurance.focal",
            "path": "Claim.insurance.focal",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Claim.insurance.coverage",
            "path": "Claim.insurance.coverage",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ]
          },
          {
            "id": "Claim.insurance.businessArrangement",
            "path": "Claim.insurance.businessArrangement",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.insurance.preAuthRef",
            "path": "Claim.insurance.preAuthRef",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Claim.insurance.claimResponse",
            "path": "Claim.insurance.claimResponse",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ClaimResponse"
              }
            ]
          },
          {
            "id": "Claim.accident",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Accident"
              }
            ],
            "path": "Claim.accident",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Claim.accident.date",
            "path": "Claim.accident.date",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Claim.accident.type",
            "path": "Claim.accident.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AccidentType"
                }
              ],
              "strength": "required",
              "description": "Type of accident: work place, auto, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActIncidentCode"
              }
            }
          },
          {
            "id": "Claim.accident.location[x]",
            "path": "Claim.accident.location[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Address"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Claim.employmentImpacted",
            "path": "Claim.employmentImpacted",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Claim.hospitalization",
            "path": "Claim.hospitalization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Claim.item",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Item"
              }
            ],
            "path": "Claim.item",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Claim.item.sequence",
            "path": "Claim.item.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.careTeamLinkId",
            "path": "Claim.item.careTeamLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.diagnosisLinkId",
            "path": "Claim.item.diagnosisLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.procedureLinkId",
            "path": "Claim.item.procedureLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.informationLinkId",
            "path": "Claim.item.informationLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.revenue",
            "path": "Claim.item.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "Claim.item.category",
            "path": "Claim.item.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "Claim.item.service",
            "path": "Claim.item.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "Claim.item.modifier",
            "path": "Claim.item.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "Claim.item.programCode",
            "path": "Claim.item.programCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProgramCode"
                }
              ],
              "strength": "example",
              "description": "Program specific reason codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-program-code"
              }
            }
          },
          {
            "id": "Claim.item.serviced[x]",
            "path": "Claim.item.serviced[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Claim.item.location[x]",
            "path": "Claim.item.location[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Address"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServicePlace"
                }
              ],
              "strength": "example",
              "description": "Place of service: pharmacy,school, prison, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-place"
              }
            }
          },
          {
            "id": "Claim.item.quantity",
            "path": "Claim.item.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Claim.item.unitPrice",
            "path": "Claim.item.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Claim.item.factor",
            "path": "Claim.item.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Claim.item.net",
            "path": "Claim.item.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Claim.item.udi",
            "path": "Claim.item.udi",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "Claim.item.bodySite",
            "path": "Claim.item.bodySite",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OralSites"
                }
              ],
              "strength": "example",
              "description": "The code for the teeth, quadrant, sextant and arch",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/tooth"
              }
            }
          },
          {
            "id": "Claim.item.subSite",
            "path": "Claim.item.subSite",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Surface"
                }
              ],
              "strength": "example",
              "description": "The code for the tooth surface and surface combinations",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/surface"
              }
            }
          },
          {
            "id": "Claim.item.encounter",
            "path": "Claim.item.encounter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          },
          {
            "id": "Claim.item.detail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Detail"
              }
            ],
            "path": "Claim.item.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Claim.item.detail.sequence",
            "path": "Claim.item.detail.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.detail.revenue",
            "path": "Claim.item.detail.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "Claim.item.detail.category",
            "path": "Claim.item.detail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "Claim.item.detail.service",
            "path": "Claim.item.detail.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "Claim.item.detail.modifier",
            "path": "Claim.item.detail.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "Claim.item.detail.programCode",
            "path": "Claim.item.detail.programCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProgramCode"
                }
              ],
              "strength": "example",
              "description": "Program specific reason codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-program-code"
              }
            }
          },
          {
            "id": "Claim.item.detail.quantity",
            "path": "Claim.item.detail.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Claim.item.detail.unitPrice",
            "path": "Claim.item.detail.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Claim.item.detail.factor",
            "path": "Claim.item.detail.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Claim.item.detail.net",
            "path": "Claim.item.detail.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Claim.item.detail.udi",
            "path": "Claim.item.detail.udi",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SubDetail"
              }
            ],
            "path": "Claim.item.detail.subDetail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.sequence",
            "path": "Claim.item.detail.subDetail.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.revenue",
            "path": "Claim.item.detail.subDetail.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "Claim.item.detail.subDetail.category",
            "path": "Claim.item.detail.subDetail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "Claim.item.detail.subDetail.service",
            "path": "Claim.item.detail.subDetail.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "Claim.item.detail.subDetail.modifier",
            "path": "Claim.item.detail.subDetail.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "Claim.item.detail.subDetail.programCode",
            "path": "Claim.item.detail.subDetail.programCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProgramCode"
                }
              ],
              "strength": "example",
              "description": "Program specific reason codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-program-code"
              }
            }
          },
          {
            "id": "Claim.item.detail.subDetail.quantity",
            "path": "Claim.item.detail.subDetail.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.unitPrice",
            "path": "Claim.item.detail.subDetail.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.factor",
            "path": "Claim.item.detail.subDetail.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.net",
            "path": "Claim.item.detail.subDetail.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Claim.item.detail.subDetail.udi",
            "path": "Claim.item.detail.subDetail.udi",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "Claim.total",
            "path": "Claim.total",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ClaimResponse",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ClaimResponse",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ClaimResponse",
      "name": "ClaimResponse",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ClaimResponse",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ClaimResponse",
            "path": "ClaimResponse",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ClaimResponse.id",
            "path": "ClaimResponse.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClaimResponse.meta",
            "path": "ClaimResponse.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClaimResponse.implicitRules",
            "path": "ClaimResponse.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClaimResponse.language",
            "path": "ClaimResponse.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ClaimResponse.text",
            "path": "ClaimResponse.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ClaimResponse.contained",
            "path": "ClaimResponse.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ClaimResponse.extension",
            "path": "ClaimResponse.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClaimResponse.modifierExtension",
            "path": "ClaimResponse.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ClaimResponse.identifier",
            "path": "ClaimResponse.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ClaimResponse.status",
            "path": "ClaimResponse.status",
            "comment": "This element is labeled as a modifier because the status contains the code cancelled and entered-in-error that mark the response as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimResponseStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "ClaimResponse.patient",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                "valueString": "who.focus"
              }
            ],
            "path": "ClaimResponse.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "ClaimResponse.created",
            "path": "ClaimResponse.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurer",
            "path": "ClaimResponse.insurer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ClaimResponse.requestProvider",
            "path": "ClaimResponse.requestProvider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "ClaimResponse.requestOrganization",
            "path": "ClaimResponse.requestOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ClaimResponse.request",
            "path": "ClaimResponse.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Claim"
              }
            ]
          },
          {
            "id": "ClaimResponse.outcome",
            "path": "ClaimResponse.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RemittanceOutcome"
                }
              ],
              "strength": "example",
              "description": "The result of the claim processing",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/remittance-outcome"
              }
            }
          },
          {
            "id": "ClaimResponse.disposition",
            "path": "ClaimResponse.disposition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.payeeType",
            "path": "ClaimResponse.payeeType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PayeeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "A code for the party to be reimbursed.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payeetype"
              }
            }
          },
          {
            "id": "ClaimResponse.item",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Item"
              }
            ],
            "path": "ClaimResponse.item",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.id",
            "path": "ClaimResponse.item.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.extension",
            "path": "ClaimResponse.item.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.modifierExtension",
            "path": "ClaimResponse.item.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClaimResponse.item.sequenceLinkId",
            "path": "ClaimResponse.item.sequenceLinkId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.noteNumber",
            "path": "ClaimResponse.item.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.adjudication",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Adjudication"
              }
            ],
            "path": "ClaimResponse.item.adjudication",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.adjudication.id",
            "path": "ClaimResponse.item.adjudication.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.adjudication.extension",
            "path": "ClaimResponse.item.adjudication.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.adjudication.modifierExtension",
            "path": "ClaimResponse.item.adjudication.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClaimResponse.item.adjudication.category",
            "path": "ClaimResponse.item.adjudication.category",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Adjudication"
                }
              ],
              "strength": "example",
              "description": "The adjudication codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication"
              }
            }
          },
          {
            "id": "ClaimResponse.item.adjudication.reason",
            "path": "ClaimResponse.item.adjudication.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdjudicationReason"
                }
              ],
              "strength": "example",
              "description": "The adjudication reason codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication-reason"
              }
            }
          },
          {
            "id": "ClaimResponse.item.adjudication.amount",
            "path": "ClaimResponse.item.adjudication.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.adjudication.value",
            "path": "ClaimResponse.item.adjudication.value",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ItemDetail"
              }
            ],
            "path": "ClaimResponse.item.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.id",
            "path": "ClaimResponse.item.detail.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.extension",
            "path": "ClaimResponse.item.detail.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.modifierExtension",
            "path": "ClaimResponse.item.detail.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClaimResponse.item.detail.sequenceLinkId",
            "path": "ClaimResponse.item.detail.sequenceLinkId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.noteNumber",
            "path": "ClaimResponse.item.detail.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.adjudication",
            "path": "ClaimResponse.item.detail.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ClaimResponse.item.adjudication"
          },
          {
            "id": "ClaimResponse.item.detail.subDetail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SubDetail"
              }
            ],
            "path": "ClaimResponse.item.detail.subDetail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.subDetail.id",
            "path": "ClaimResponse.item.detail.subDetail.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.subDetail.extension",
            "path": "ClaimResponse.item.detail.subDetail.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.subDetail.modifierExtension",
            "path": "ClaimResponse.item.detail.subDetail.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClaimResponse.item.detail.subDetail.sequenceLinkId",
            "path": "ClaimResponse.item.detail.subDetail.sequenceLinkId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.subDetail.noteNumber",
            "path": "ClaimResponse.item.detail.subDetail.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.subDetail.adjudication",
            "path": "ClaimResponse.item.detail.subDetail.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ClaimResponse.item.adjudication"
          },
          {
            "id": "ClaimResponse.addItem",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "AddedItem"
              }
            ],
            "path": "ClaimResponse.addItem",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.id",
            "path": "ClaimResponse.addItem.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.extension",
            "path": "ClaimResponse.addItem.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.modifierExtension",
            "path": "ClaimResponse.addItem.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClaimResponse.addItem.sequenceLinkId",
            "path": "ClaimResponse.addItem.sequenceLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.revenue",
            "path": "ClaimResponse.addItem.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.category",
            "path": "ClaimResponse.addItem.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.service",
            "path": "ClaimResponse.addItem.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.modifier",
            "path": "ClaimResponse.addItem.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.fee",
            "path": "ClaimResponse.addItem.fee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.noteNumber",
            "path": "ClaimResponse.addItem.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.adjudication",
            "path": "ClaimResponse.addItem.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ClaimResponse.item.adjudication"
          },
          {
            "id": "ClaimResponse.addItem.detail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "AddedItemsDetail"
              }
            ],
            "path": "ClaimResponse.addItem.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.detail.id",
            "path": "ClaimResponse.addItem.detail.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.detail.extension",
            "path": "ClaimResponse.addItem.detail.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.detail.modifierExtension",
            "path": "ClaimResponse.addItem.detail.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClaimResponse.addItem.detail.revenue",
            "path": "ClaimResponse.addItem.detail.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.detail.category",
            "path": "ClaimResponse.addItem.detail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.detail.service",
            "path": "ClaimResponse.addItem.detail.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.detail.modifier",
            "path": "ClaimResponse.addItem.detail.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.detail.fee",
            "path": "ClaimResponse.addItem.detail.fee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.detail.noteNumber",
            "path": "ClaimResponse.addItem.detail.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.detail.adjudication",
            "path": "ClaimResponse.addItem.detail.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ClaimResponse.item.adjudication"
          },
          {
            "id": "ClaimResponse.error",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Error"
              }
            ],
            "path": "ClaimResponse.error",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ClaimResponse.error.id",
            "path": "ClaimResponse.error.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.error.extension",
            "path": "ClaimResponse.error.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClaimResponse.error.modifierExtension",
            "path": "ClaimResponse.error.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClaimResponse.error.sequenceLinkId",
            "path": "ClaimResponse.error.sequenceLinkId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.error.detailSequenceLinkId",
            "path": "ClaimResponse.error.detailSequenceLinkId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.error.subdetailSequenceLinkId",
            "path": "ClaimResponse.error.subdetailSequenceLinkId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.error.code",
            "path": "ClaimResponse.error.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdjudicationError"
                }
              ],
              "strength": "example",
              "description": "The adjudication error codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication-error"
              }
            }
          },
          {
            "id": "ClaimResponse.totalCost",
            "path": "ClaimResponse.totalCost",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.unallocDeductable",
            "path": "ClaimResponse.unallocDeductable",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.totalBenefit",
            "path": "ClaimResponse.totalBenefit",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.payment",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Payment"
              }
            ],
            "path": "ClaimResponse.payment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ClaimResponse.payment.id",
            "path": "ClaimResponse.payment.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.payment.extension",
            "path": "ClaimResponse.payment.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClaimResponse.payment.modifierExtension",
            "path": "ClaimResponse.payment.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClaimResponse.payment.type",
            "path": "ClaimResponse.payment.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentType"
                }
              ],
              "strength": "example",
              "description": "The type (partial, complete) of the payment",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-paymenttype"
              }
            }
          },
          {
            "id": "ClaimResponse.payment.adjustment",
            "path": "ClaimResponse.payment.adjustment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.payment.adjustmentReason",
            "path": "ClaimResponse.payment.adjustmentReason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentAdjustmentReason"
                }
              ],
              "strength": "example",
              "description": "Payment Adjustment reason codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payment-adjustment-reason"
              }
            }
          },
          {
            "id": "ClaimResponse.payment.date",
            "path": "ClaimResponse.payment.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ClaimResponse.payment.amount",
            "path": "ClaimResponse.payment.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.payment.identifier",
            "path": "ClaimResponse.payment.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ClaimResponse.reserved",
            "path": "ClaimResponse.reserved",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FundsReserve"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "For whom funds are to be reserved: (Patient, Provider, None).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fundsreserve"
              }
            }
          },
          {
            "id": "ClaimResponse.form",
            "path": "ClaimResponse.form",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Forms"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The forms codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/forms"
              }
            }
          },
          {
            "id": "ClaimResponse.processNote",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Note"
              }
            ],
            "path": "ClaimResponse.processNote",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ClaimResponse.processNote.id",
            "path": "ClaimResponse.processNote.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.processNote.extension",
            "path": "ClaimResponse.processNote.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClaimResponse.processNote.modifierExtension",
            "path": "ClaimResponse.processNote.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClaimResponse.processNote.number",
            "path": "ClaimResponse.processNote.number",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.processNote.type",
            "path": "ClaimResponse.processNote.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NoteType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The presentation types of notes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/note-type"
              }
            }
          },
          {
            "id": "ClaimResponse.processNote.text",
            "path": "ClaimResponse.processNote.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.processNote.language",
            "path": "ClaimResponse.processNote.language",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ClaimResponse.communicationRequest",
            "path": "ClaimResponse.communicationRequest",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CommunicationRequest"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Insurance"
              }
            ],
            "path": "ClaimResponse.insurance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.id",
            "path": "ClaimResponse.insurance.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.extension",
            "path": "ClaimResponse.insurance.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.modifierExtension",
            "path": "ClaimResponse.insurance.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClaimResponse.insurance.sequence",
            "path": "ClaimResponse.insurance.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.focal",
            "path": "ClaimResponse.insurance.focal",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.coverage",
            "path": "ClaimResponse.insurance.coverage",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.businessArrangement",
            "path": "ClaimResponse.insurance.businessArrangement",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.preAuthRef",
            "path": "ClaimResponse.insurance.preAuthRef",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.claimResponse",
            "path": "ClaimResponse.insurance.claimResponse",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ClaimResponse"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ClaimResponse",
            "path": "ClaimResponse",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ClaimResponse.identifier",
            "path": "ClaimResponse.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ClaimResponse.status",
            "path": "ClaimResponse.status",
            "comment": "This element is labeled as a modifier because the status contains the code cancelled and entered-in-error that mark the response as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimResponseStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "ClaimResponse.patient",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                "valueString": "who.focus"
              }
            ],
            "path": "ClaimResponse.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "ClaimResponse.created",
            "path": "ClaimResponse.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurer",
            "path": "ClaimResponse.insurer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ClaimResponse.requestProvider",
            "path": "ClaimResponse.requestProvider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "ClaimResponse.requestOrganization",
            "path": "ClaimResponse.requestOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ClaimResponse.request",
            "path": "ClaimResponse.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Claim"
              }
            ]
          },
          {
            "id": "ClaimResponse.outcome",
            "path": "ClaimResponse.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RemittanceOutcome"
                }
              ],
              "strength": "example",
              "description": "The result of the claim processing",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/remittance-outcome"
              }
            }
          },
          {
            "id": "ClaimResponse.disposition",
            "path": "ClaimResponse.disposition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.payeeType",
            "path": "ClaimResponse.payeeType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PayeeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "A code for the party to be reimbursed.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payeetype"
              }
            }
          },
          {
            "id": "ClaimResponse.item",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Item"
              }
            ],
            "path": "ClaimResponse.item",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.sequenceLinkId",
            "path": "ClaimResponse.item.sequenceLinkId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.noteNumber",
            "path": "ClaimResponse.item.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.adjudication",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Adjudication"
              }
            ],
            "path": "ClaimResponse.item.adjudication",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.adjudication.category",
            "path": "ClaimResponse.item.adjudication.category",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Adjudication"
                }
              ],
              "strength": "example",
              "description": "The adjudication codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication"
              }
            }
          },
          {
            "id": "ClaimResponse.item.adjudication.reason",
            "path": "ClaimResponse.item.adjudication.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdjudicationReason"
                }
              ],
              "strength": "example",
              "description": "The adjudication reason codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication-reason"
              }
            }
          },
          {
            "id": "ClaimResponse.item.adjudication.amount",
            "path": "ClaimResponse.item.adjudication.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.adjudication.value",
            "path": "ClaimResponse.item.adjudication.value",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ItemDetail"
              }
            ],
            "path": "ClaimResponse.item.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.sequenceLinkId",
            "path": "ClaimResponse.item.detail.sequenceLinkId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.noteNumber",
            "path": "ClaimResponse.item.detail.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.adjudication",
            "path": "ClaimResponse.item.detail.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ClaimResponse.item.adjudication"
          },
          {
            "id": "ClaimResponse.item.detail.subDetail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SubDetail"
              }
            ],
            "path": "ClaimResponse.item.detail.subDetail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.subDetail.sequenceLinkId",
            "path": "ClaimResponse.item.detail.subDetail.sequenceLinkId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.subDetail.noteNumber",
            "path": "ClaimResponse.item.detail.subDetail.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.item.detail.subDetail.adjudication",
            "path": "ClaimResponse.item.detail.subDetail.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ClaimResponse.item.adjudication"
          },
          {
            "id": "ClaimResponse.addItem",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "AddedItem"
              }
            ],
            "path": "ClaimResponse.addItem",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.sequenceLinkId",
            "path": "ClaimResponse.addItem.sequenceLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.revenue",
            "path": "ClaimResponse.addItem.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.category",
            "path": "ClaimResponse.addItem.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.service",
            "path": "ClaimResponse.addItem.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.modifier",
            "path": "ClaimResponse.addItem.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.fee",
            "path": "ClaimResponse.addItem.fee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.noteNumber",
            "path": "ClaimResponse.addItem.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.adjudication",
            "path": "ClaimResponse.addItem.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ClaimResponse.item.adjudication"
          },
          {
            "id": "ClaimResponse.addItem.detail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "AddedItemsDetail"
              }
            ],
            "path": "ClaimResponse.addItem.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.detail.revenue",
            "path": "ClaimResponse.addItem.detail.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.detail.category",
            "path": "ClaimResponse.addItem.detail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.detail.service",
            "path": "ClaimResponse.addItem.detail.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.detail.modifier",
            "path": "ClaimResponse.addItem.detail.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ClaimResponse.addItem.detail.fee",
            "path": "ClaimResponse.addItem.detail.fee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.detail.noteNumber",
            "path": "ClaimResponse.addItem.detail.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.addItem.detail.adjudication",
            "path": "ClaimResponse.addItem.detail.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ClaimResponse.item.adjudication"
          },
          {
            "id": "ClaimResponse.error",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Error"
              }
            ],
            "path": "ClaimResponse.error",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ClaimResponse.error.sequenceLinkId",
            "path": "ClaimResponse.error.sequenceLinkId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.error.detailSequenceLinkId",
            "path": "ClaimResponse.error.detailSequenceLinkId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.error.subdetailSequenceLinkId",
            "path": "ClaimResponse.error.subdetailSequenceLinkId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.error.code",
            "path": "ClaimResponse.error.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdjudicationError"
                }
              ],
              "strength": "example",
              "description": "The adjudication error codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication-error"
              }
            }
          },
          {
            "id": "ClaimResponse.totalCost",
            "path": "ClaimResponse.totalCost",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.unallocDeductable",
            "path": "ClaimResponse.unallocDeductable",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.totalBenefit",
            "path": "ClaimResponse.totalBenefit",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.payment",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Payment"
              }
            ],
            "path": "ClaimResponse.payment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ClaimResponse.payment.type",
            "path": "ClaimResponse.payment.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentType"
                }
              ],
              "strength": "example",
              "description": "The type (partial, complete) of the payment",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-paymenttype"
              }
            }
          },
          {
            "id": "ClaimResponse.payment.adjustment",
            "path": "ClaimResponse.payment.adjustment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.payment.adjustmentReason",
            "path": "ClaimResponse.payment.adjustmentReason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentAdjustmentReason"
                }
              ],
              "strength": "example",
              "description": "Payment Adjustment reason codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payment-adjustment-reason"
              }
            }
          },
          {
            "id": "ClaimResponse.payment.date",
            "path": "ClaimResponse.payment.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ClaimResponse.payment.amount",
            "path": "ClaimResponse.payment.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ClaimResponse.payment.identifier",
            "path": "ClaimResponse.payment.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ClaimResponse.reserved",
            "path": "ClaimResponse.reserved",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FundsReserve"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "For whom funds are to be reserved: (Patient, Provider, None).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fundsreserve"
              }
            }
          },
          {
            "id": "ClaimResponse.form",
            "path": "ClaimResponse.form",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Forms"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The forms codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/forms"
              }
            }
          },
          {
            "id": "ClaimResponse.processNote",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Note"
              }
            ],
            "path": "ClaimResponse.processNote",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ClaimResponse.processNote.number",
            "path": "ClaimResponse.processNote.number",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.processNote.type",
            "path": "ClaimResponse.processNote.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NoteType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The presentation types of notes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/note-type"
              }
            }
          },
          {
            "id": "ClaimResponse.processNote.text",
            "path": "ClaimResponse.processNote.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.processNote.language",
            "path": "ClaimResponse.processNote.language",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ClaimResponse.communicationRequest",
            "path": "ClaimResponse.communicationRequest",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CommunicationRequest"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Insurance"
              }
            ],
            "path": "ClaimResponse.insurance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.sequence",
            "path": "ClaimResponse.insurance.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.focal",
            "path": "ClaimResponse.insurance.focal",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.coverage",
            "path": "ClaimResponse.insurance.coverage",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.businessArrangement",
            "path": "ClaimResponse.insurance.businessArrangement",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.preAuthRef",
            "path": "ClaimResponse.insurance.preAuthRef",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClaimResponse.insurance.claimResponse",
            "path": "ClaimResponse.insurance.claimResponse",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ClaimResponse"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ClinicalImpression",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ClinicalImpression",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ClinicalImpression",
      "name": "ClinicalImpression",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ClinicalImpression",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ClinicalImpression",
            "path": "ClinicalImpression",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ClinicalImpression.id",
            "path": "ClinicalImpression.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.meta",
            "path": "ClinicalImpression.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.implicitRules",
            "path": "ClinicalImpression.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.language",
            "path": "ClinicalImpression.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ClinicalImpression.text",
            "path": "ClinicalImpression.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ClinicalImpression.contained",
            "path": "ClinicalImpression.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ClinicalImpression.extension",
            "path": "ClinicalImpression.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClinicalImpression.modifierExtension",
            "path": "ClinicalImpression.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ClinicalImpression.identifier",
            "path": "ClinicalImpression.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.status",
            "path": "ClinicalImpression.status",
            "comment": "This element is labeled as a modifier because the status contains the code entered-in-error that marks the clinical impression as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClinicalImpressionStatus"
                }
              ],
              "strength": "required",
              "description": "The workflow state of a clinical impression.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-impression-status"
              }
            }
          },
          {
            "id": "ClinicalImpression.code",
            "path": "ClinicalImpression.code",
            "comment": "This is present as a place-holder only and may be removed based on feedback/work group opinion.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClinicalImpressionCode"
                }
              ],
              "strength": "example",
              "description": "Identifies categories of clinical impressions.  This is a place-holder only.  It may be removed"
            }
          },
          {
            "id": "ClinicalImpression.description",
            "path": "ClinicalImpression.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.subject",
            "path": "ClinicalImpression.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.context",
            "path": "ClinicalImpression.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.effective[x]",
            "path": "ClinicalImpression.effective[x]",
            "comment": "This SHOULD be accurate to at least the minute, though some assessments only have a known date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.date",
            "path": "ClinicalImpression.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.assessor",
            "path": "ClinicalImpression.assessor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.previous",
            "path": "ClinicalImpression.previous",
            "comment": "It is always likely that multiple previous assessments exist for a patient. The point of quoting a previous assessment is that this assessment is relative to it (see resolved).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ClinicalImpression"
              }
            ]
          },
          {
            "id": "ClinicalImpression.problem",
            "path": "ClinicalImpression.problem",
            "comment": "e.g. The patient is a pregnant, and cardiac congestive failure, ‎Adenocarcinoma, and is allergic to penicillin.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.investigation",
            "path": "ClinicalImpression.investigation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ClinicalImpression.investigation.id",
            "path": "ClinicalImpression.investigation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClinicalImpression.investigation.extension",
            "path": "ClinicalImpression.investigation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClinicalImpression.investigation.modifierExtension",
            "path": "ClinicalImpression.investigation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.investigation.code",
            "path": "ClinicalImpression.investigation.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InvestigationGroupType"
                }
              ],
              "strength": "example",
              "description": "A name/code for a set of investigations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/investigation-sets"
              }
            }
          },
          {
            "id": "ClinicalImpression.investigation.item",
            "path": "ClinicalImpression.investigation.item",
            "comment": "Most investigations are observations of one kind of or another but some other specific types of data collection resources can also be used.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RiskAssessment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingStudy"
              }
            ]
          },
          {
            "id": "ClinicalImpression.protocol",
            "path": "ClinicalImpression.protocol",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ClinicalImpression.summary",
            "path": "ClinicalImpression.summary",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClinicalImpression.finding",
            "path": "ClinicalImpression.finding",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ClinicalImpression.finding.id",
            "path": "ClinicalImpression.finding.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClinicalImpression.finding.extension",
            "path": "ClinicalImpression.finding.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ClinicalImpression.finding.modifierExtension",
            "path": "ClinicalImpression.finding.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.finding.item[x]",
            "path": "ClinicalImpression.finding.item[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionKind"
                }
              ],
              "strength": "example",
              "description": "Identification of the Condition or diagnosis.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "ClinicalImpression.finding.basis",
            "path": "ClinicalImpression.finding.basis",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClinicalImpression.prognosisCodeableConcept",
            "path": "ClinicalImpression.prognosisCodeableConcept",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClinicalImpressionPrognosis"
                }
              ],
              "strength": "example",
              "description": "Prognosis or outlook findings",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinicalimpression-prognosis"
              }
            }
          },
          {
            "id": "ClinicalImpression.prognosisReference",
            "path": "ClinicalImpression.prognosisReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RiskAssessment"
              }
            ]
          },
          {
            "id": "ClinicalImpression.action",
            "path": "ClinicalImpression.action",
            "comment": "Actions recommended as a result of the impression should not be captured using the 'action' element.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Appointment"
              }
            ]
          },
          {
            "id": "ClinicalImpression.note",
            "path": "ClinicalImpression.note",
            "comment": "Don't use this element for content that should more properly appear as one of the specific elements of the impression.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ClinicalImpression",
            "path": "ClinicalImpression",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ClinicalImpression.identifier",
            "path": "ClinicalImpression.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.status",
            "path": "ClinicalImpression.status",
            "comment": "This element is labeled as a modifier because the status contains the code entered-in-error that marks the clinical impression as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClinicalImpressionStatus"
                }
              ],
              "strength": "required",
              "description": "The workflow state of a clinical impression.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-impression-status"
              }
            }
          },
          {
            "id": "ClinicalImpression.code",
            "path": "ClinicalImpression.code",
            "comment": "This is present as a place-holder only and may be removed based on feedback/work group opinion.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClinicalImpressionCode"
                }
              ],
              "strength": "example",
              "description": "Identifies categories of clinical impressions.  This is a place-holder only.  It may be removed"
            }
          },
          {
            "id": "ClinicalImpression.description",
            "path": "ClinicalImpression.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.subject",
            "path": "ClinicalImpression.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.context",
            "path": "ClinicalImpression.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.effective[x]",
            "path": "ClinicalImpression.effective[x]",
            "comment": "This SHOULD be accurate to at least the minute, though some assessments only have a known date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.date",
            "path": "ClinicalImpression.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.assessor",
            "path": "ClinicalImpression.assessor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.previous",
            "path": "ClinicalImpression.previous",
            "comment": "It is always likely that multiple previous assessments exist for a patient. The point of quoting a previous assessment is that this assessment is relative to it (see resolved).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ClinicalImpression"
              }
            ]
          },
          {
            "id": "ClinicalImpression.problem",
            "path": "ClinicalImpression.problem",
            "comment": "e.g. The patient is a pregnant, and cardiac congestive failure, ‎Adenocarcinoma, and is allergic to penicillin.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ClinicalImpression.investigation",
            "path": "ClinicalImpression.investigation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ClinicalImpression.investigation.code",
            "path": "ClinicalImpression.investigation.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InvestigationGroupType"
                }
              ],
              "strength": "example",
              "description": "A name/code for a set of investigations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/investigation-sets"
              }
            }
          },
          {
            "id": "ClinicalImpression.investigation.item",
            "path": "ClinicalImpression.investigation.item",
            "comment": "Most investigations are observations of one kind of or another but some other specific types of data collection resources can also be used.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RiskAssessment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingStudy"
              }
            ]
          },
          {
            "id": "ClinicalImpression.protocol",
            "path": "ClinicalImpression.protocol",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ClinicalImpression.summary",
            "path": "ClinicalImpression.summary",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClinicalImpression.finding",
            "path": "ClinicalImpression.finding",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ClinicalImpression.finding.item[x]",
            "path": "ClinicalImpression.finding.item[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionKind"
                }
              ],
              "strength": "example",
              "description": "Identification of the Condition or diagnosis.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "ClinicalImpression.finding.basis",
            "path": "ClinicalImpression.finding.basis",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ClinicalImpression.prognosisCodeableConcept",
            "path": "ClinicalImpression.prognosisCodeableConcept",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClinicalImpressionPrognosis"
                }
              ],
              "strength": "example",
              "description": "Prognosis or outlook findings",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinicalimpression-prognosis"
              }
            }
          },
          {
            "id": "ClinicalImpression.prognosisReference",
            "path": "ClinicalImpression.prognosisReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RiskAssessment"
              }
            ]
          },
          {
            "id": "ClinicalImpression.action",
            "path": "ClinicalImpression.action",
            "comment": "Actions recommended as a result of the impression should not be captured using the 'action' element.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Appointment"
              }
            ]
          },
          {
            "id": "ClinicalImpression.note",
            "path": "ClinicalImpression.note",
            "comment": "Don't use this element for content that should more properly appear as one of the specific elements of the impression.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/CodeSystem",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "CodeSystem",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 5
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "vocab"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/CodeSystem",
      "name": "CodeSystem",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "CodeSystem",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "CodeSystem",
            "path": "CodeSystem",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "csd-1",
                "severity": "error",
                "human": "Within a code system definition, all the codes SHALL be unique",
                "expression": "(concept.code | descendants().concept.code).isDistinct()",
                "xpath": "count(distinct-values(descendant::f:concept/f:code/@value))=count(descendant::f:concept)"
              }
            ]
          },
          {
            "id": "CodeSystem.id",
            "path": "CodeSystem.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.meta",
            "path": "CodeSystem.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.implicitRules",
            "path": "CodeSystem.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CodeSystem.language",
            "path": "CodeSystem.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "CodeSystem.text",
            "path": "CodeSystem.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "CodeSystem.contained",
            "path": "CodeSystem.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "CodeSystem.extension",
            "path": "CodeSystem.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CodeSystem.modifierExtension",
            "path": "CodeSystem.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "CodeSystem.url",
            "path": "CodeSystem.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.identifier",
            "path": "CodeSystem.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this code system outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.version",
            "path": "CodeSystem.version",
            "comment": "There may be different code system instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the code system with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.name",
            "path": "CodeSystem.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.title",
            "path": "CodeSystem.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.status",
            "path": "CodeSystem.status",
            "comment": "Allows filtering of code systems that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired code system without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "CodeSystem.experimental",
            "path": "CodeSystem.experimental",
            "comment": "Allows filtering of code system that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental code system in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CodeSystem.date",
            "path": "CodeSystem.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the code system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.publisher",
            "path": "CodeSystem.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the code system is the organization or individual primarily responsible for the maintenance and upkeep of the code system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the code system. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.contact",
            "path": "CodeSystem.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.description",
            "path": "CodeSystem.description",
            "comment": "This description can be used to capture details such as why the code system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the code system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CodeSystem.useContext",
            "path": "CodeSystem.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.jurisdiction",
            "path": "CodeSystem.jurisdiction",
            "comment": "It may be possible for the code system to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "CodeSystem.purpose",
            "path": "CodeSystem.purpose",
            "comment": "This element does not describe the usage of the code system Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this code system.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CodeSystem.copyright",
            "path": "CodeSystem.copyright",
            "comment": "... Sometimes, the copyright differs between the code system and the codes that are included. The copyright statement should clearly differentiate between these when required.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CodeSystem.caseSensitive",
            "path": "CodeSystem.caseSensitive",
            "comment": "If this value is missing, then it is not specified whether a code system is case sensitive or not. When the rule is not known, Postel's law should be followed: produce codes with the correct case, and accept codes in any case. This element is primarily provided to support validation software.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.valueSet",
            "path": "CodeSystem.valueSet",
            "comment": "The definition of the value set SHALL include all codes from this code system, and it SHALL be immutable.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.hierarchyMeaning",
            "path": "CodeSystem.hierarchyMeaning",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CodeSystemHierarchyMeaning"
                }
              ],
              "strength": "required",
              "description": "The meaning of the hierarchy of concepts in a code system",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning"
              }
            }
          },
          {
            "id": "CodeSystem.compositional",
            "path": "CodeSystem.compositional",
            "comment": "Note that the code system resource does not define what the compositional grammar is, only whether or not there is one.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.versionNeeded",
            "path": "CodeSystem.versionNeeded",
            "comment": "Best practice is that code systems do not redefine concepts, or that if concepts are redefined, a new code system definition is created. But this is not always possible, so some code systems may be defined as 'versionNeeded'.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.content",
            "path": "CodeSystem.content",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CodeSystemContentMode"
                }
              ],
              "strength": "required",
              "description": "How much of the content of the code system - the concepts and codes it defines - are represented in a code system resource",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/codesystem-content-mode"
              }
            }
          },
          {
            "id": "CodeSystem.count",
            "path": "CodeSystem.count",
            "comment": "The count of concepts defined in this resource cannot be more than this value, but may be less for several reasons - see the content value.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.filter",
            "path": "CodeSystem.filter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.filter.id",
            "path": "CodeSystem.filter.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CodeSystem.filter.extension",
            "path": "CodeSystem.filter.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CodeSystem.filter.modifierExtension",
            "path": "CodeSystem.filter.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CodeSystem.filter.code",
            "path": "CodeSystem.filter.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.filter.description",
            "path": "CodeSystem.filter.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.filter.operator",
            "path": "CodeSystem.filter.operator",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FilterOperator"
                }
              ],
              "strength": "required",
              "description": "The kind of operation to perform as a part of a property based filter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/filter-operator"
              }
            }
          },
          {
            "id": "CodeSystem.filter.value",
            "path": "CodeSystem.filter.value",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.property",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Property"
              }
            ],
            "path": "CodeSystem.property",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.property.id",
            "path": "CodeSystem.property.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CodeSystem.property.extension",
            "path": "CodeSystem.property.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CodeSystem.property.modifierExtension",
            "path": "CodeSystem.property.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CodeSystem.property.code",
            "path": "CodeSystem.property.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.property.uri",
            "path": "CodeSystem.property.uri",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.property.description",
            "path": "CodeSystem.property.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.property.type",
            "path": "CodeSystem.property.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PropertyType"
                }
              ],
              "strength": "required",
              "description": "The type of a property value",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/concept-property-type"
              }
            }
          },
          {
            "id": "CodeSystem.concept",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ConceptDefinition"
              }
            ],
            "path": "CodeSystem.concept",
            "comment": "If this is empty, it means that the code system resource does not represent the content of the code system.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.id",
            "path": "CodeSystem.concept.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.extension",
            "path": "CodeSystem.concept.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.modifierExtension",
            "path": "CodeSystem.concept.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CodeSystem.concept.code",
            "path": "CodeSystem.concept.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.display",
            "path": "CodeSystem.concept.display",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.definition",
            "path": "CodeSystem.concept.definition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.designation",
            "path": "CodeSystem.concept.designation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.designation.id",
            "path": "CodeSystem.concept.designation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.designation.extension",
            "path": "CodeSystem.concept.designation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.designation.modifierExtension",
            "path": "CodeSystem.concept.designation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CodeSystem.concept.designation.language",
            "path": "CodeSystem.concept.designation.language",
            "comment": "In the absence of a language, the resource language applies.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "CodeSystem.concept.designation.use",
            "path": "CodeSystem.concept.designation.use",
            "comment": "If no use is provided, the designation can be assumed to be suitable for general display to a human user.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConceptDesignationUse"
                }
              ],
              "strength": "extensible",
              "description": "Details of how a designation would be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/designation-use"
              }
            }
          },
          {
            "id": "CodeSystem.concept.designation.value",
            "path": "CodeSystem.concept.designation.value",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.property",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ConceptProperty"
              }
            ],
            "path": "CodeSystem.concept.property",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.property.id",
            "path": "CodeSystem.concept.property.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.property.extension",
            "path": "CodeSystem.concept.property.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.property.modifierExtension",
            "path": "CodeSystem.concept.property.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CodeSystem.concept.property.code",
            "path": "CodeSystem.concept.property.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.property.value[x]",
            "path": "CodeSystem.concept.property.value[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              },
              {
                "code": "Coding"
              },
              {
                "code": "string"
              },
              {
                "code": "integer"
              },
              {
                "code": "boolean"
              },
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.concept",
            "path": "CodeSystem.concept.concept",
            "min": 0,
            "max": "*",
            "contentReference": "#CodeSystem.concept"
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "CodeSystem",
            "path": "CodeSystem",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "csd-1",
                "severity": "error",
                "human": "Within a code system definition, all the codes SHALL be unique",
                "expression": "(concept.code | descendants().concept.code).isDistinct()",
                "xpath": "count(distinct-values(descendant::f:concept/f:code/@value))=count(descendant::f:concept)"
              }
            ]
          },
          {
            "id": "CodeSystem.url",
            "path": "CodeSystem.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.identifier",
            "path": "CodeSystem.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this code system outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.version",
            "path": "CodeSystem.version",
            "comment": "There may be different code system instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the code system with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.name",
            "path": "CodeSystem.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.title",
            "path": "CodeSystem.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.status",
            "path": "CodeSystem.status",
            "comment": "Allows filtering of code systems that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired code system without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "CodeSystem.experimental",
            "path": "CodeSystem.experimental",
            "comment": "Allows filtering of code system that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental code system in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CodeSystem.date",
            "path": "CodeSystem.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the code system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.publisher",
            "path": "CodeSystem.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the code system is the organization or individual primarily responsible for the maintenance and upkeep of the code system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the code system. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.contact",
            "path": "CodeSystem.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.description",
            "path": "CodeSystem.description",
            "comment": "This description can be used to capture details such as why the code system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the code system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CodeSystem.useContext",
            "path": "CodeSystem.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.jurisdiction",
            "path": "CodeSystem.jurisdiction",
            "comment": "It may be possible for the code system to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "CodeSystem.purpose",
            "path": "CodeSystem.purpose",
            "comment": "This element does not describe the usage of the code system Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this code system.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CodeSystem.copyright",
            "path": "CodeSystem.copyright",
            "comment": "... Sometimes, the copyright differs between the code system and the codes that are included. The copyright statement should clearly differentiate between these when required.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CodeSystem.caseSensitive",
            "path": "CodeSystem.caseSensitive",
            "comment": "If this value is missing, then it is not specified whether a code system is case sensitive or not. When the rule is not known, Postel's law should be followed: produce codes with the correct case, and accept codes in any case. This element is primarily provided to support validation software.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.valueSet",
            "path": "CodeSystem.valueSet",
            "comment": "The definition of the value set SHALL include all codes from this code system, and it SHALL be immutable.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.hierarchyMeaning",
            "path": "CodeSystem.hierarchyMeaning",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CodeSystemHierarchyMeaning"
                }
              ],
              "strength": "required",
              "description": "The meaning of the hierarchy of concepts in a code system",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning"
              }
            }
          },
          {
            "id": "CodeSystem.compositional",
            "path": "CodeSystem.compositional",
            "comment": "Note that the code system resource does not define what the compositional grammar is, only whether or not there is one.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.versionNeeded",
            "path": "CodeSystem.versionNeeded",
            "comment": "Best practice is that code systems do not redefine concepts, or that if concepts are redefined, a new code system definition is created. But this is not always possible, so some code systems may be defined as 'versionNeeded'.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.content",
            "path": "CodeSystem.content",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CodeSystemContentMode"
                }
              ],
              "strength": "required",
              "description": "How much of the content of the code system - the concepts and codes it defines - are represented in a code system resource",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/codesystem-content-mode"
              }
            }
          },
          {
            "id": "CodeSystem.count",
            "path": "CodeSystem.count",
            "comment": "The count of concepts defined in this resource cannot be more than this value, but may be less for several reasons - see the content value.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.filter",
            "path": "CodeSystem.filter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.filter.code",
            "path": "CodeSystem.filter.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.filter.description",
            "path": "CodeSystem.filter.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.filter.operator",
            "path": "CodeSystem.filter.operator",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FilterOperator"
                }
              ],
              "strength": "required",
              "description": "The kind of operation to perform as a part of a property based filter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/filter-operator"
              }
            }
          },
          {
            "id": "CodeSystem.filter.value",
            "path": "CodeSystem.filter.value",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.property",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Property"
              }
            ],
            "path": "CodeSystem.property",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.property.code",
            "path": "CodeSystem.property.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.property.uri",
            "path": "CodeSystem.property.uri",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.property.description",
            "path": "CodeSystem.property.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CodeSystem.property.type",
            "path": "CodeSystem.property.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PropertyType"
                }
              ],
              "strength": "required",
              "description": "The type of a property value",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/concept-property-type"
              }
            }
          },
          {
            "id": "CodeSystem.concept",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ConceptDefinition"
              }
            ],
            "path": "CodeSystem.concept",
            "comment": "If this is empty, it means that the code system resource does not represent the content of the code system.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.code",
            "path": "CodeSystem.concept.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.display",
            "path": "CodeSystem.concept.display",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.definition",
            "path": "CodeSystem.concept.definition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.designation",
            "path": "CodeSystem.concept.designation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.designation.language",
            "path": "CodeSystem.concept.designation.language",
            "comment": "In the absence of a language, the resource language applies.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "CodeSystem.concept.designation.use",
            "path": "CodeSystem.concept.designation.use",
            "comment": "If no use is provided, the designation can be assumed to be suitable for general display to a human user.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConceptDesignationUse"
                }
              ],
              "strength": "extensible",
              "description": "Details of how a designation would be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/designation-use"
              }
            }
          },
          {
            "id": "CodeSystem.concept.designation.value",
            "path": "CodeSystem.concept.designation.value",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.property",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ConceptProperty"
              }
            ],
            "path": "CodeSystem.concept.property",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.property.code",
            "path": "CodeSystem.concept.property.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.property.value[x]",
            "path": "CodeSystem.concept.property.value[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              },
              {
                "code": "Coding"
              },
              {
                "code": "string"
              },
              {
                "code": "integer"
              },
              {
                "code": "boolean"
              },
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "CodeSystem.concept.concept",
            "path": "CodeSystem.concept.concept",
            "min": 0,
            "max": "*",
            "contentReference": "#CodeSystem.concept"
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Communication",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Communication",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Communication",
      "name": "Communication",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Communication",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Communication",
            "path": "Communication",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "com-1",
                "severity": "error",
                "human": "Not Done Reason can only be specified if NotDone is \"true\"",
                "expression": "notDone or notDoneReason.exists().not()",
                "xpath": "f:notDone/@value=true() or not(exists(f:notDoneReason))"
              }
            ]
          },
          {
            "id": "Communication.id",
            "path": "Communication.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.meta",
            "path": "Communication.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.implicitRules",
            "path": "Communication.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Communication.language",
            "path": "Communication.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Communication.text",
            "path": "Communication.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Communication.contained",
            "path": "Communication.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Communication.extension",
            "path": "Communication.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Communication.modifierExtension",
            "path": "Communication.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Communication.identifier",
            "path": "Communication.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.definition",
            "path": "Communication.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.basedOn",
            "path": "Communication.basedOn",
            "comment": "This must point to some sort of a 'Request' resource, such as CarePlan, CommunicationRequest, ReferralRequest, MedicationRequest, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.partOf",
            "path": "Communication.partOf",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.status",
            "path": "Communication.status",
            "comment": "This element is labeled as a modifier because the status contains the codes aborted and entered-in-error that mark the communication as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the communication.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/event-status"
              }
            }
          },
          {
            "id": "Communication.notDone",
            "path": "Communication.notDone",
            "comment": "This element is labeled as a modifier because it marks the communication as a communication that did not occur.  The more attributes are populated, the more constrained the negated statement is.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Communication.notDoneReason",
            "path": "Communication.notDoneReason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "com-1"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationNotDoneReason"
                }
              ],
              "strength": "example",
              "description": "Codes for the reason why a communication was not done.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/communication-not-done-reason"
              }
            }
          },
          {
            "id": "Communication.category",
            "path": "Communication.category",
            "comment": "There may be multiple axes of categorization and one communication may serve multiple purposes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationCategory"
                }
              ],
              "strength": "example",
              "description": "Codes for general categories of communications such as alerts, instruction, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/communication-category"
              }
            }
          },
          {
            "id": "Communication.medium",
            "path": "Communication.medium",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationMedium"
                }
              ],
              "strength": "example",
              "description": "Codes for communication mediums such as phone, fax, email, in person, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ParticipationMode"
              }
            }
          },
          {
            "id": "Communication.subject",
            "path": "Communication.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.recipient",
            "path": "Communication.recipient",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ]
          },
          {
            "id": "Communication.topic",
            "path": "Communication.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "Communication.context",
            "path": "Communication.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.sent",
            "path": "Communication.sent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Communication.received",
            "path": "Communication.received",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Communication.sender",
            "path": "Communication.sender",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "Communication.reasonCode",
            "path": "Communication.reasonCode",
            "comment": "Textual reasons can be caprued using reasonCode.text.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationReason"
                }
              ],
              "strength": "example",
              "description": "Codes for describing reasons for the occurrence of a communication.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "Communication.reasonReference",
            "path": "Communication.reasonReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.payload",
            "path": "Communication.payload",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Communication.payload.id",
            "path": "Communication.payload.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Communication.payload.extension",
            "path": "Communication.payload.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Communication.payload.modifierExtension",
            "path": "Communication.payload.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Communication.payload.content[x]",
            "path": "Communication.payload.content[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "Communication.note",
            "path": "Communication.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Communication",
            "path": "Communication",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "com-1",
                "severity": "error",
                "human": "Not Done Reason can only be specified if NotDone is \"true\"",
                "expression": "notDone or notDoneReason.exists().not()",
                "xpath": "f:notDone/@value=true() or not(exists(f:notDoneReason))"
              }
            ]
          },
          {
            "id": "Communication.identifier",
            "path": "Communication.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.definition",
            "path": "Communication.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.basedOn",
            "path": "Communication.basedOn",
            "comment": "This must point to some sort of a 'Request' resource, such as CarePlan, CommunicationRequest, ReferralRequest, MedicationRequest, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.partOf",
            "path": "Communication.partOf",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.status",
            "path": "Communication.status",
            "comment": "This element is labeled as a modifier because the status contains the codes aborted and entered-in-error that mark the communication as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the communication.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/event-status"
              }
            }
          },
          {
            "id": "Communication.notDone",
            "path": "Communication.notDone",
            "comment": "This element is labeled as a modifier because it marks the communication as a communication that did not occur.  The more attributes are populated, the more constrained the negated statement is.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Communication.notDoneReason",
            "path": "Communication.notDoneReason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "com-1"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationNotDoneReason"
                }
              ],
              "strength": "example",
              "description": "Codes for the reason why a communication was not done.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/communication-not-done-reason"
              }
            }
          },
          {
            "id": "Communication.category",
            "path": "Communication.category",
            "comment": "There may be multiple axes of categorization and one communication may serve multiple purposes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationCategory"
                }
              ],
              "strength": "example",
              "description": "Codes for general categories of communications such as alerts, instruction, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/communication-category"
              }
            }
          },
          {
            "id": "Communication.medium",
            "path": "Communication.medium",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationMedium"
                }
              ],
              "strength": "example",
              "description": "Codes for communication mediums such as phone, fax, email, in person, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ParticipationMode"
              }
            }
          },
          {
            "id": "Communication.subject",
            "path": "Communication.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.recipient",
            "path": "Communication.recipient",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ]
          },
          {
            "id": "Communication.topic",
            "path": "Communication.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "Communication.context",
            "path": "Communication.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.sent",
            "path": "Communication.sent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Communication.received",
            "path": "Communication.received",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Communication.sender",
            "path": "Communication.sender",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "Communication.reasonCode",
            "path": "Communication.reasonCode",
            "comment": "Textual reasons can be caprued using reasonCode.text.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationReason"
                }
              ],
              "strength": "example",
              "description": "Codes for describing reasons for the occurrence of a communication.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "Communication.reasonReference",
            "path": "Communication.reasonReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Communication.payload",
            "path": "Communication.payload",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Communication.payload.content[x]",
            "path": "Communication.payload.content[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "Communication.note",
            "path": "Communication.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/CommunicationRequest",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "CommunicationRequest",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/CommunicationRequest",
      "name": "CommunicationRequest",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "CommunicationRequest",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "CommunicationRequest",
            "path": "CommunicationRequest",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "CommunicationRequest.id",
            "path": "CommunicationRequest.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.meta",
            "path": "CommunicationRequest.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.implicitRules",
            "path": "CommunicationRequest.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.language",
            "path": "CommunicationRequest.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "CommunicationRequest.text",
            "path": "CommunicationRequest.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "CommunicationRequest.contained",
            "path": "CommunicationRequest.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "CommunicationRequest.extension",
            "path": "CommunicationRequest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CommunicationRequest.modifierExtension",
            "path": "CommunicationRequest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "CommunicationRequest.identifier",
            "path": "CommunicationRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.basedOn",
            "path": "CommunicationRequest.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.replaces",
            "path": "CommunicationRequest.replaces",
            "comment": "The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CommunicationRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.groupIdentifier",
            "path": "CommunicationRequest.groupIdentifier",
            "comment": "Requests are linked either by a \"basedOn\" relationship (i.e. one request is fulfilling another) or by having a common requisition.  Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.status",
            "path": "CommunicationRequest.status",
            "comment": "This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the request as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationRequestStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the communication request.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-status"
              }
            }
          },
          {
            "id": "CommunicationRequest.category",
            "path": "CommunicationRequest.category",
            "comment": "There may be multiple axes of categorization and one communication request may serve multiple purposes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationCategory"
                }
              ],
              "strength": "example",
              "description": "Codes for general categories of communications such as alerts, instruction, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/communication-category"
              }
            }
          },
          {
            "id": "CommunicationRequest.priority",
            "path": "CommunicationRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "If missing, this task should be performed with normal priority",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationPriority"
                }
              ],
              "strength": "required",
              "description": "Codes indicating the relative importance of a communication request.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "CommunicationRequest.medium",
            "path": "CommunicationRequest.medium",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationMedium"
                }
              ],
              "strength": "example",
              "description": "Codes for communication mediums such as phone, fax, email, in person, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ParticipationMode"
              }
            }
          },
          {
            "id": "CommunicationRequest.subject",
            "path": "CommunicationRequest.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ]
          },
          {
            "id": "CommunicationRequest.recipient",
            "path": "CommunicationRequest.recipient",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              }
            ]
          },
          {
            "id": "CommunicationRequest.topic",
            "path": "CommunicationRequest.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "CommunicationRequest.context",
            "path": "CommunicationRequest.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.payload",
            "path": "CommunicationRequest.payload",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "CommunicationRequest.payload.id",
            "path": "CommunicationRequest.payload.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CommunicationRequest.payload.extension",
            "path": "CommunicationRequest.payload.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CommunicationRequest.payload.modifierExtension",
            "path": "CommunicationRequest.payload.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.payload.content[x]",
            "path": "CommunicationRequest.payload.content[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "CommunicationRequest.occurrence[x]",
            "path": "CommunicationRequest.occurrence[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.authoredOn",
            "path": "CommunicationRequest.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.sender",
            "path": "CommunicationRequest.sender",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "CommunicationRequest.requester",
            "path": "CommunicationRequest.requester",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "cmr-1",
                "severity": "error",
                "human": "onBehalfOf can only be specified if agent is practitioner or device",
                "expression": "(agent.resolve() is Practitioner) or (agent.resolve() is Device) or onBehalfOf.exists().not()",
                "xpath": "contains(f:agent/f:reference/@value, '/Practitioner/') or contains(f:agent/f:reference/@value, '/Device/') or not(exists(f:onBehalfOf))"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.requester.id",
            "path": "CommunicationRequest.requester.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CommunicationRequest.requester.extension",
            "path": "CommunicationRequest.requester.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CommunicationRequest.requester.modifierExtension",
            "path": "CommunicationRequest.requester.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.requester.agent",
            "path": "CommunicationRequest.requester.agent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.requester.onBehalfOf",
            "path": "CommunicationRequest.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "condition": [
              "cmr-1"
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.reasonCode",
            "path": "CommunicationRequest.reasonCode",
            "comment": "Textual reasons can be caprued using reasonCode.text.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationReason"
                }
              ],
              "strength": "example",
              "description": "Codes for describing reasons for the occurrence of a communication.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActReason"
              }
            }
          },
          {
            "id": "CommunicationRequest.reasonReference",
            "path": "CommunicationRequest.reasonReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.note",
            "path": "CommunicationRequest.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "CommunicationRequest",
            "path": "CommunicationRequest",
            "min": 0,
            "max": "*"
          },
          {
            "id": "CommunicationRequest.identifier",
            "path": "CommunicationRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.basedOn",
            "path": "CommunicationRequest.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.replaces",
            "path": "CommunicationRequest.replaces",
            "comment": "The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CommunicationRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.groupIdentifier",
            "path": "CommunicationRequest.groupIdentifier",
            "comment": "Requests are linked either by a \"basedOn\" relationship (i.e. one request is fulfilling another) or by having a common requisition.  Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.status",
            "path": "CommunicationRequest.status",
            "comment": "This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the request as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationRequestStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the communication request.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-status"
              }
            }
          },
          {
            "id": "CommunicationRequest.category",
            "path": "CommunicationRequest.category",
            "comment": "There may be multiple axes of categorization and one communication request may serve multiple purposes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationCategory"
                }
              ],
              "strength": "example",
              "description": "Codes for general categories of communications such as alerts, instruction, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/communication-category"
              }
            }
          },
          {
            "id": "CommunicationRequest.priority",
            "path": "CommunicationRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "If missing, this task should be performed with normal priority",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationPriority"
                }
              ],
              "strength": "required",
              "description": "Codes indicating the relative importance of a communication request.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "CommunicationRequest.medium",
            "path": "CommunicationRequest.medium",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationMedium"
                }
              ],
              "strength": "example",
              "description": "Codes for communication mediums such as phone, fax, email, in person, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ParticipationMode"
              }
            }
          },
          {
            "id": "CommunicationRequest.subject",
            "path": "CommunicationRequest.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ]
          },
          {
            "id": "CommunicationRequest.recipient",
            "path": "CommunicationRequest.recipient",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              }
            ]
          },
          {
            "id": "CommunicationRequest.topic",
            "path": "CommunicationRequest.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "CommunicationRequest.context",
            "path": "CommunicationRequest.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.payload",
            "path": "CommunicationRequest.payload",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "CommunicationRequest.payload.content[x]",
            "path": "CommunicationRequest.payload.content[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "CommunicationRequest.occurrence[x]",
            "path": "CommunicationRequest.occurrence[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.authoredOn",
            "path": "CommunicationRequest.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.sender",
            "path": "CommunicationRequest.sender",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "CommunicationRequest.requester",
            "path": "CommunicationRequest.requester",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "cmr-1",
                "severity": "error",
                "human": "onBehalfOf can only be specified if agent is practitioner or device",
                "expression": "(agent.resolve() is Practitioner) or (agent.resolve() is Device) or onBehalfOf.exists().not()",
                "xpath": "contains(f:agent/f:reference/@value, '/Practitioner/') or contains(f:agent/f:reference/@value, '/Device/') or not(exists(f:onBehalfOf))"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.requester.agent",
            "path": "CommunicationRequest.requester.agent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.requester.onBehalfOf",
            "path": "CommunicationRequest.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "condition": [
              "cmr-1"
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.reasonCode",
            "path": "CommunicationRequest.reasonCode",
            "comment": "Textual reasons can be caprued using reasonCode.text.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CommunicationReason"
                }
              ],
              "strength": "example",
              "description": "Codes for describing reasons for the occurrence of a communication.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActReason"
              }
            }
          },
          {
            "id": "CommunicationRequest.reasonReference",
            "path": "CommunicationRequest.reasonReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CommunicationRequest.note",
            "path": "CommunicationRequest.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/CompartmentDefinition",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "CompartmentDefinition",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/CompartmentDefinition",
      "name": "CompartmentDefinition",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "CompartmentDefinition",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "CompartmentDefinition",
            "path": "CompartmentDefinition",
            "comment": "In FHIR, search is not performed directly on a resource (by XML or JSON path), but on a named parameter that maps into the resource content.",
            "min": 1,
            "max": "1",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "CompartmentDefinition.id",
            "path": "CompartmentDefinition.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.meta",
            "path": "CompartmentDefinition.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.implicitRules",
            "path": "CompartmentDefinition.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.language",
            "path": "CompartmentDefinition.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "CompartmentDefinition.text",
            "path": "CompartmentDefinition.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "CompartmentDefinition.contained",
            "path": "CompartmentDefinition.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "CompartmentDefinition.extension",
            "path": "CompartmentDefinition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CompartmentDefinition.modifierExtension",
            "path": "CompartmentDefinition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "CompartmentDefinition.url",
            "path": "CompartmentDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.name",
            "path": "CompartmentDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. This is often the same as the code for the parameter, but does not need to be.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.title",
            "path": "CompartmentDefinition.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.status",
            "path": "CompartmentDefinition.status",
            "comment": "Allows filtering of compartment definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired compartment definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "CompartmentDefinition.experimental",
            "path": "CompartmentDefinition.experimental",
            "comment": "Allows filtering of compartment definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental compartment definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.date",
            "path": "CompartmentDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the compartment definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.publisher",
            "path": "CompartmentDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the compartment definition is the organization or individual primarily responsible for the maintenance and upkeep of the compartment definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the compartment definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.contact",
            "path": "CompartmentDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.description",
            "path": "CompartmentDefinition.description",
            "comment": "This description can be used to capture details such as why the compartment definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the compartment definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CompartmentDefinition.purpose",
            "path": "CompartmentDefinition.purpose",
            "comment": "This element does not describe the usage of the compartment definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this compartment definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CompartmentDefinition.useContext",
            "path": "CompartmentDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.jurisdiction",
            "path": "CompartmentDefinition.jurisdiction",
            "comment": "It may be possible for the compartment definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "CompartmentDefinition.code",
            "path": "CompartmentDefinition.code",
            "comment": "Only the specification can define the compartments that can exist. Servers can choose to support them.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CompartmentType"
                }
              ],
              "strength": "required",
              "description": "Which compartment a compartment definition describes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/compartment-type"
              }
            }
          },
          {
            "id": "CompartmentDefinition.search",
            "path": "CompartmentDefinition.search",
            "comment": "Servers may define and use compartments to manage logical access without implementing the compartment related syntax.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.resource",
            "path": "CompartmentDefinition.resource",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.resource.id",
            "path": "CompartmentDefinition.resource.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "CompartmentDefinition.resource.extension",
            "path": "CompartmentDefinition.resource.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "CompartmentDefinition.resource.modifierExtension",
            "path": "CompartmentDefinition.resource.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.resource.code",
            "path": "CompartmentDefinition.resource.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "CompartmentDefinition.resource.param",
            "path": "CompartmentDefinition.resource.param",
            "comment": "If no search parameters are listed, then the resource is not linked to the compartment.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.resource.documentation",
            "path": "CompartmentDefinition.resource.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "CompartmentDefinition",
            "path": "CompartmentDefinition",
            "comment": "In FHIR, search is not performed directly on a resource (by XML or JSON path), but on a named parameter that maps into the resource content.",
            "min": 1,
            "max": "1"
          },
          {
            "id": "CompartmentDefinition.url",
            "path": "CompartmentDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.name",
            "path": "CompartmentDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. This is often the same as the code for the parameter, but does not need to be.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.title",
            "path": "CompartmentDefinition.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.status",
            "path": "CompartmentDefinition.status",
            "comment": "Allows filtering of compartment definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired compartment definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "CompartmentDefinition.experimental",
            "path": "CompartmentDefinition.experimental",
            "comment": "Allows filtering of compartment definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental compartment definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.date",
            "path": "CompartmentDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the compartment definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.publisher",
            "path": "CompartmentDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the compartment definition is the organization or individual primarily responsible for the maintenance and upkeep of the compartment definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the compartment definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.contact",
            "path": "CompartmentDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.description",
            "path": "CompartmentDefinition.description",
            "comment": "This description can be used to capture details such as why the compartment definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the compartment definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CompartmentDefinition.purpose",
            "path": "CompartmentDefinition.purpose",
            "comment": "This element does not describe the usage of the compartment definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this compartment definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "CompartmentDefinition.useContext",
            "path": "CompartmentDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.jurisdiction",
            "path": "CompartmentDefinition.jurisdiction",
            "comment": "It may be possible for the compartment definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "CompartmentDefinition.code",
            "path": "CompartmentDefinition.code",
            "comment": "Only the specification can define the compartments that can exist. Servers can choose to support them.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CompartmentType"
                }
              ],
              "strength": "required",
              "description": "Which compartment a compartment definition describes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/compartment-type"
              }
            }
          },
          {
            "id": "CompartmentDefinition.search",
            "path": "CompartmentDefinition.search",
            "comment": "Servers may define and use compartments to manage logical access without implementing the compartment related syntax.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.resource",
            "path": "CompartmentDefinition.resource",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.resource.code",
            "path": "CompartmentDefinition.resource.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "CompartmentDefinition.resource.param",
            "path": "CompartmentDefinition.resource.param",
            "comment": "If no search parameters are listed, then the resource is not linked to the compartment.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "CompartmentDefinition.resource.documentation",
            "path": "CompartmentDefinition.resource.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Composition",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Composition",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "sd"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Composition",
      "name": "Composition",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "To support documents, and also to capture the EN13606 notion of an attested commit to the patient EHR, and to allow a set of disparate resources at the information/engineering level to be gathered into a clinical statement.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Composition",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Composition",
            "path": "Composition",
            "comment": "While the focus of this specification is on patient-specific clinical statements, this resource can also apply to other healthcare-related statements such as study protocol designs, healthcare invoices and other activities that are not necessarily patient-specific or clinical.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Composition.id",
            "path": "Composition.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.meta",
            "path": "Composition.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.implicitRules",
            "path": "Composition.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Composition.language",
            "path": "Composition.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Composition.text",
            "path": "Composition.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Composition.contained",
            "path": "Composition.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Composition.extension",
            "path": "Composition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Composition.modifierExtension",
            "path": "Composition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Composition.identifier",
            "path": "Composition.identifier",
            "comment": "See discussion in resource definition for how these relate.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.status",
            "path": "Composition.status",
            "comment": "If a composition is marked as withdrawn, the compositions/documents in the series, or data from the composition or document series, should never be displayed to a user without being clearly marked as untrustworthy. The flag \"entered-in-error\" is why this element is labeled as a modifier of other elements. \n\nSome reporting work flows require that the original narrative of a final document never be altered; instead, only new narrative can be added. The composition resource has no explicit status for explicitly noting whether this business rule is in effect. This would be handled by an extension if required.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CompositionStatus"
                }
              ],
              "strength": "required",
              "description": "The workflow/clinical status of the composition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/composition-status"
              }
            }
          },
          {
            "id": "Composition.type",
            "path": "Composition.type",
            "comment": "For Composition type, LOINC is ubiquitous and strongly endorsed by HL7. Most implementation guides will require a specific LOINC code, or use LOINC as an extensible binding.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentType"
                }
              ],
              "strength": "preferred",
              "description": "Type of a composition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/doc-typecodes"
              }
            }
          },
          {
            "id": "Composition.class",
            "path": "Composition.class",
            "comment": "This is a metadata field from [XDS/MHD](http://wiki.ihe.net/index.php?title=Mobile_access_to_Health_Documents_(MHD)).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentClass"
                }
              ],
              "strength": "example",
              "description": "High-level kind of a clinical document at a macro level.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/doc-classcodes"
              }
            }
          },
          {
            "id": "Composition.subject",
            "path": "Composition.subject",
            "comment": "For clinical documents, this is usually the patient.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.encounter",
            "path": "Composition.encounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.date",
            "path": "Composition.date",
            "comment": "The Last Modified Date on the composition may be after the date of the document was attested without being changed.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.author",
            "path": "Composition.author",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.title",
            "path": "Composition.title",
            "comment": "For many compositions, the title is the same as the text or a display name of Composition.type (e.g. a \"consultation\" or \"progress note\"). Note that CDA does not make title mandatory, but there are no known cases where it is useful for title to be omitted, so it is mandatory here. Feedback on this requirement is welcome during the trial use period.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.confidentiality",
            "path": "Composition.confidentiality",
            "comment": "The exact use of this element, and enforcement and issues related to highly sensitive documents are out of scope for the base specification, and delegated to implementation profiles (see security section).\n\nThis element is labeled as a modifier because highly confidential documents must not be treated as if they are not.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentConfidentiality"
                }
              ],
              "strength": "required",
              "description": "Codes specifying the level of confidentiality of the composition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ConfidentialityClassification"
              }
            }
          },
          {
            "id": "Composition.attester",
            "path": "Composition.attester",
            "comment": "Only list each attester once.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.attester.id",
            "path": "Composition.attester.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Composition.attester.extension",
            "path": "Composition.attester.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Composition.attester.modifierExtension",
            "path": "Composition.attester.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Composition.attester.mode",
            "path": "Composition.attester.mode",
            "comment": "Use more than one code where a single attester has more than one mode (professional and legal are often paired).",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CompositionAttestationMode"
                }
              ],
              "strength": "required",
              "description": "The way in which a person authenticated a composition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/composition-attestation-mode"
              }
            }
          },
          {
            "id": "Composition.attester.time",
            "path": "Composition.attester.time",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.attester.party",
            "path": "Composition.attester.party",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.custodian",
            "path": "Composition.custodian",
            "comment": "This is useful when documents are derived from a composition - provides guidance for how to get the latest version of the document. This is optional because this is sometimes not known by the authoring system, and can be inferred by context. However, it is important that this information be known when working with a derived document, so providing a custodian is encouraged.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.relatesTo",
            "path": "Composition.relatesTo",
            "comment": "A document is a version specific composition.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.relatesTo.id",
            "path": "Composition.relatesTo.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Composition.relatesTo.extension",
            "path": "Composition.relatesTo.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Composition.relatesTo.modifierExtension",
            "path": "Composition.relatesTo.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Composition.relatesTo.code",
            "path": "Composition.relatesTo.code",
            "comment": "If this document appends another document, then the document cannot be fully understood without also accessing the referenced document.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentRelationshipType"
                }
              ],
              "strength": "required",
              "description": "The type of relationship between documents.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/document-relationship-type"
              }
            }
          },
          {
            "id": "Composition.relatesTo.target[x]",
            "path": "Composition.relatesTo.target[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.event",
            "path": "Composition.event",
            "comment": "The event needs to be consistent with the type element, though can provide further information if desired.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.event.id",
            "path": "Composition.event.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Composition.event.extension",
            "path": "Composition.event.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Composition.event.modifierExtension",
            "path": "Composition.event.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Composition.event.code",
            "path": "Composition.event.code",
            "comment": "An event can further specialize the act inherent in the typeCode, such as where it is simply \"Procedure Report\" and the procedure was a \"colonoscopy\". If one or more eventCodes are included, they SHALL NOT conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as key words for certain types of queries.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentEventType"
                }
              ],
              "strength": "example",
              "description": "This list of codes represents the main clinical acts being documented.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActCode"
              }
            }
          },
          {
            "id": "Composition.event.period",
            "path": "Composition.event.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.event.detail",
            "path": "Composition.event.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.section",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Section"
              }
            ],
            "path": "Composition.section",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "cmp-1",
                "severity": "error",
                "human": "A section must at least one of text, entries, or sub-sections",
                "expression": "text.exists() or entry.exists() or section.exists()",
                "xpath": "exists(f:text) or exists(f:entry) or exists(f:section)"
              },
              {
                "key": "cmp-2",
                "severity": "error",
                "human": "A section can only have an emptyReason if it is empty",
                "expression": "emptyReason.empty() or entry.empty()",
                "xpath": "not(exists(f:emptyReason) and exists(f:entry))"
              }
            ]
          },
          {
            "id": "Composition.section.id",
            "path": "Composition.section.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Composition.section.extension",
            "path": "Composition.section.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Composition.section.modifierExtension",
            "path": "Composition.section.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Composition.section.title",
            "path": "Composition.section.title",
            "comment": "The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title,  or documents that only have a single section. Most Implementation Guides will make section title to be a required element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Composition.section.code",
            "path": "Composition.section.code",
            "comment": "The code identifies the section for an automated processor of the document. This is particularly relevant when using profiles to control the structure of the document.   If the section has content (instead of sub-sections), the section.code does not change the meaning or interpretation of the resource that is the content of the section in the comments for the section.code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CompositionSectionType"
                }
              ],
              "strength": "example",
              "description": "Classification of a section of a composition/document.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/doc-section-codes"
              }
            }
          },
          {
            "id": "Composition.section.text",
            "path": "Composition.section.text",
            "comment": "Document profiles may define what content should be represented in the narrative to ensure clinical safety.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "cmp-1"
            ]
          },
          {
            "id": "Composition.section.mode",
            "path": "Composition.section.mode",
            "comment": "This element is labeled as a modifier because a change list must not be mis-understood as a complete list.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SectionMode"
                }
              ],
              "strength": "required",
              "description": "The processing mode that applies to this section.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-mode"
              }
            }
          },
          {
            "id": "Composition.section.orderedBy",
            "path": "Composition.section.orderedBy",
            "comment": "Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SectionEntryOrder"
                }
              ],
              "strength": "preferred",
              "description": "What order applies to the items in the entry.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-order"
              }
            }
          },
          {
            "id": "Composition.section.entry",
            "path": "Composition.section.entry",
            "comment": "If there are no entries in the list, an emptyReason SHOULD be provided.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "condition": [
              "cmp-2"
            ]
          },
          {
            "id": "Composition.section.emptyReason",
            "path": "Composition.section.emptyReason",
            "comment": "The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "cmp-2"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SectionEmptyReason"
                }
              ],
              "strength": "preferred",
              "description": "If a section is empty, why it is empty.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-empty-reason"
              }
            }
          },
          {
            "id": "Composition.section.section",
            "path": "Composition.section.section",
            "comment": "Nested sections are primarily used to help human readers navigate to particular portions of the document.",
            "min": 0,
            "max": "*",
            "contentReference": "#Composition.section",
            "condition": [
              "cmp-1"
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Composition",
            "path": "Composition",
            "comment": "While the focus of this specification is on patient-specific clinical statements, this resource can also apply to other healthcare-related statements such as study protocol designs, healthcare invoices and other activities that are not necessarily patient-specific or clinical.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Composition.identifier",
            "path": "Composition.identifier",
            "comment": "See discussion in resource definition for how these relate.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.status",
            "path": "Composition.status",
            "comment": "If a composition is marked as withdrawn, the compositions/documents in the series, or data from the composition or document series, should never be displayed to a user without being clearly marked as untrustworthy. The flag \"entered-in-error\" is why this element is labeled as a modifier of other elements. \n\nSome reporting work flows require that the original narrative of a final document never be altered; instead, only new narrative can be added. The composition resource has no explicit status for explicitly noting whether this business rule is in effect. This would be handled by an extension if required.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CompositionStatus"
                }
              ],
              "strength": "required",
              "description": "The workflow/clinical status of the composition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/composition-status"
              }
            }
          },
          {
            "id": "Composition.type",
            "path": "Composition.type",
            "comment": "For Composition type, LOINC is ubiquitous and strongly endorsed by HL7. Most implementation guides will require a specific LOINC code, or use LOINC as an extensible binding.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentType"
                }
              ],
              "strength": "preferred",
              "description": "Type of a composition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/doc-typecodes"
              }
            }
          },
          {
            "id": "Composition.class",
            "path": "Composition.class",
            "comment": "This is a metadata field from [XDS/MHD](http://wiki.ihe.net/index.php?title=Mobile_access_to_Health_Documents_(MHD)).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentClass"
                }
              ],
              "strength": "example",
              "description": "High-level kind of a clinical document at a macro level.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/doc-classcodes"
              }
            }
          },
          {
            "id": "Composition.subject",
            "path": "Composition.subject",
            "comment": "For clinical documents, this is usually the patient.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.encounter",
            "path": "Composition.encounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.date",
            "path": "Composition.date",
            "comment": "The Last Modified Date on the composition may be after the date of the document was attested without being changed.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.author",
            "path": "Composition.author",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.title",
            "path": "Composition.title",
            "comment": "For many compositions, the title is the same as the text or a display name of Composition.type (e.g. a \"consultation\" or \"progress note\"). Note that CDA does not make title mandatory, but there are no known cases where it is useful for title to be omitted, so it is mandatory here. Feedback on this requirement is welcome during the trial use period.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.confidentiality",
            "path": "Composition.confidentiality",
            "comment": "The exact use of this element, and enforcement and issues related to highly sensitive documents are out of scope for the base specification, and delegated to implementation profiles (see security section).\n\nThis element is labeled as a modifier because highly confidential documents must not be treated as if they are not.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentConfidentiality"
                }
              ],
              "strength": "required",
              "description": "Codes specifying the level of confidentiality of the composition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ConfidentialityClassification"
              }
            }
          },
          {
            "id": "Composition.attester",
            "path": "Composition.attester",
            "comment": "Only list each attester once.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.attester.mode",
            "path": "Composition.attester.mode",
            "comment": "Use more than one code where a single attester has more than one mode (professional and legal are often paired).",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CompositionAttestationMode"
                }
              ],
              "strength": "required",
              "description": "The way in which a person authenticated a composition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/composition-attestation-mode"
              }
            }
          },
          {
            "id": "Composition.attester.time",
            "path": "Composition.attester.time",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.attester.party",
            "path": "Composition.attester.party",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.custodian",
            "path": "Composition.custodian",
            "comment": "This is useful when documents are derived from a composition - provides guidance for how to get the latest version of the document. This is optional because this is sometimes not known by the authoring system, and can be inferred by context. However, it is important that this information be known when working with a derived document, so providing a custodian is encouraged.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.relatesTo",
            "path": "Composition.relatesTo",
            "comment": "A document is a version specific composition.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.relatesTo.code",
            "path": "Composition.relatesTo.code",
            "comment": "If this document appends another document, then the document cannot be fully understood without also accessing the referenced document.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentRelationshipType"
                }
              ],
              "strength": "required",
              "description": "The type of relationship between documents.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/document-relationship-type"
              }
            }
          },
          {
            "id": "Composition.relatesTo.target[x]",
            "path": "Composition.relatesTo.target[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.event",
            "path": "Composition.event",
            "comment": "The event needs to be consistent with the type element, though can provide further information if desired.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.event.code",
            "path": "Composition.event.code",
            "comment": "An event can further specialize the act inherent in the typeCode, such as where it is simply \"Procedure Report\" and the procedure was a \"colonoscopy\". If one or more eventCodes are included, they SHALL NOT conflict with the values inherent in the classCode, practiceSettingCode or typeCode, as such a conflict would create an ambiguous situation. This short list of codes is provided to be used as key words for certain types of queries.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentEventType"
                }
              ],
              "strength": "example",
              "description": "This list of codes represents the main clinical acts being documented.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActCode"
              }
            }
          },
          {
            "id": "Composition.event.period",
            "path": "Composition.event.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.event.detail",
            "path": "Composition.event.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Composition.section",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Section"
              }
            ],
            "path": "Composition.section",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "cmp-1",
                "severity": "error",
                "human": "A section must at least one of text, entries, or sub-sections",
                "expression": "text.exists() or entry.exists() or section.exists()",
                "xpath": "exists(f:text) or exists(f:entry) or exists(f:section)"
              },
              {
                "key": "cmp-2",
                "severity": "error",
                "human": "A section can only have an emptyReason if it is empty",
                "expression": "emptyReason.empty() or entry.empty()",
                "xpath": "not(exists(f:emptyReason) and exists(f:entry))"
              }
            ]
          },
          {
            "id": "Composition.section.title",
            "path": "Composition.section.title",
            "comment": "The title identifies the section for a human reader. The title must be consistent with the narrative of the resource that is the target of the section.content reference. Generally, sections SHOULD have titles, but in some documents, it is unnecessary or inappropriate. Typically, this is where a section has subsections that have their own adequately distinguishing title,  or documents that only have a single section. Most Implementation Guides will make section title to be a required element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Composition.section.code",
            "path": "Composition.section.code",
            "comment": "The code identifies the section for an automated processor of the document. This is particularly relevant when using profiles to control the structure of the document.   If the section has content (instead of sub-sections), the section.code does not change the meaning or interpretation of the resource that is the content of the section in the comments for the section.code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CompositionSectionType"
                }
              ],
              "strength": "example",
              "description": "Classification of a section of a composition/document.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/doc-section-codes"
              }
            }
          },
          {
            "id": "Composition.section.text",
            "path": "Composition.section.text",
            "comment": "Document profiles may define what content should be represented in the narrative to ensure clinical safety.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "cmp-1"
            ]
          },
          {
            "id": "Composition.section.mode",
            "path": "Composition.section.mode",
            "comment": "This element is labeled as a modifier because a change list must not be mis-understood as a complete list.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SectionMode"
                }
              ],
              "strength": "required",
              "description": "The processing mode that applies to this section.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-mode"
              }
            }
          },
          {
            "id": "Composition.section.orderedBy",
            "path": "Composition.section.orderedBy",
            "comment": "Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SectionEntryOrder"
                }
              ],
              "strength": "preferred",
              "description": "What order applies to the items in the entry.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-order"
              }
            }
          },
          {
            "id": "Composition.section.entry",
            "path": "Composition.section.entry",
            "comment": "If there are no entries in the list, an emptyReason SHOULD be provided.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "condition": [
              "cmp-2"
            ]
          },
          {
            "id": "Composition.section.emptyReason",
            "path": "Composition.section.emptyReason",
            "comment": "The various reasons for an empty section make a significant interpretation to its interpretation. Note that this code is for use when the entire section content has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "cmp-2"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SectionEmptyReason"
                }
              ],
              "strength": "preferred",
              "description": "If a section is empty, why it is empty.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-empty-reason"
              }
            }
          },
          {
            "id": "Composition.section.section",
            "path": "Composition.section.section",
            "comment": "Nested sections are primarily used to help human readers navigate to particular portions of the document.",
            "min": 0,
            "max": "*",
            "contentReference": "#Composition.section",
            "condition": [
              "cmp-1"
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ConceptMap",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ConceptMap",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "vocab"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ConceptMap",
      "name": "ConceptMap",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ConceptMap",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ConceptMap",
            "path": "ConceptMap",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ConceptMap.id",
            "path": "ConceptMap.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.meta",
            "path": "ConceptMap.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.implicitRules",
            "path": "ConceptMap.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ConceptMap.language",
            "path": "ConceptMap.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ConceptMap.text",
            "path": "ConceptMap.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ConceptMap.contained",
            "path": "ConceptMap.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ConceptMap.extension",
            "path": "ConceptMap.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ConceptMap.modifierExtension",
            "path": "ConceptMap.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ConceptMap.url",
            "path": "ConceptMap.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.identifier",
            "path": "ConceptMap.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this concept map outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.version",
            "path": "ConceptMap.version",
            "comment": "There may be different concept map instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the concept map with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.name",
            "path": "ConceptMap.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.title",
            "path": "ConceptMap.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.status",
            "path": "ConceptMap.status",
            "comment": "Allows filtering of concept maps that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired concept map without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "ConceptMap.experimental",
            "path": "ConceptMap.experimental",
            "comment": "Allows filtering of concept map that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental concept map in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ConceptMap.date",
            "path": "ConceptMap.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the concept map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.publisher",
            "path": "ConceptMap.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the concept map is the organization or individual primarily responsible for the maintenance and upkeep of the concept map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the concept map. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.contact",
            "path": "ConceptMap.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.description",
            "path": "ConceptMap.description",
            "comment": "The description is not intended to describe the semantics of the concept map. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ConceptMap.useContext",
            "path": "ConceptMap.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.jurisdiction",
            "path": "ConceptMap.jurisdiction",
            "comment": "It may be possible for the concept map to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ConceptMap.purpose",
            "path": "ConceptMap.purpose",
            "comment": "This element does not describe the usage of the concept map Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this concept map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ConceptMap.copyright",
            "path": "ConceptMap.copyright",
            "comment": "null Frequently, the copyright differs between the concept map, and codes that are included. The copyright statement should clearly differentiate between these when required.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ConceptMap.source[x]",
            "path": "ConceptMap.source[x]",
            "comment": "Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ValueSet"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.target[x]",
            "path": "ConceptMap.target[x]",
            "comment": "Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ValueSet"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.group",
            "path": "ConceptMap.group",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ConceptMap.group.id",
            "path": "ConceptMap.group.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.extension",
            "path": "ConceptMap.group.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ConceptMap.group.modifierExtension",
            "path": "ConceptMap.group.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ConceptMap.group.source",
            "path": "ConceptMap.group.source",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ConceptMap.group.sourceVersion",
            "path": "ConceptMap.group.sourceVersion",
            "comment": "The specification of a particular code system version may be required for code systems which lack concept permanence.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.target",
            "path": "ConceptMap.group.target",
            "comment": "Target may be omitted if all the targget element equivalence values are 'unmatched'.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ConceptMap.group.targetVersion",
            "path": "ConceptMap.group.targetVersion",
            "comment": "The specification of a particular code system version may be required for code systems which lack concept permanence.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SourceElement"
              }
            ],
            "path": "ConceptMap.group.element",
            "comment": "Generally, the ideal is that there would only be one mapping for each concept in the source value set, but a given concept may be mapped multiple times with different comments or dependencies.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.id",
            "path": "ConceptMap.group.element.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.extension",
            "path": "ConceptMap.group.element.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.modifierExtension",
            "path": "ConceptMap.group.element.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ConceptMap.group.element.code",
            "path": "ConceptMap.group.element.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.display",
            "path": "ConceptMap.group.element.display",
            "comment": "The display is ignored when processing the map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TargetElement"
              }
            ],
            "path": "ConceptMap.group.element.target",
            "comment": "Ideally there would only be one map, with equal or equivalent mapping. But multiple maps are allowed for several narrower options, or to assert that other concepts are unmatched.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "cmd-1",
                "severity": "error",
                "human": "If the map is narrower or inexact, there SHALL be some comments",
                "expression": "comment.exists() or equivalence.empty() or ((equivalence != 'narrower') and (equivalence != 'inexact'))",
                "xpath": "exists(f:comment) or not(exists(f:equivalence)) or ((f:equivalence/@value != 'narrower') and (f:equivalence/@value != 'inexact'))"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.id",
            "path": "ConceptMap.group.element.target.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.extension",
            "path": "ConceptMap.group.element.target.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.modifierExtension",
            "path": "ConceptMap.group.element.target.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ConceptMap.group.element.target.code",
            "path": "ConceptMap.group.element.target.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.display",
            "path": "ConceptMap.group.element.target.display",
            "comment": "The display is ignored when processing the map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.equivalence",
            "path": "ConceptMap.group.element.target.equivalence",
            "comment": "This element is labeled as a modifier because it may indicate that a target does not apply.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "defaultValueCode": "equivalent",
            "isModifier": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConceptMapEquivalence"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The degree of equivalence between concepts.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/concept-map-equivalence"
              }
            }
          },
          {
            "id": "ConceptMap.group.element.target.comment",
            "path": "ConceptMap.group.element.target.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "cmd-1"
            ]
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "OtherElement"
              }
            ],
            "path": "ConceptMap.group.element.target.dependsOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn.id",
            "path": "ConceptMap.group.element.target.dependsOn.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn.extension",
            "path": "ConceptMap.group.element.target.dependsOn.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn.modifierExtension",
            "path": "ConceptMap.group.element.target.dependsOn.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn.property",
            "path": "ConceptMap.group.element.target.dependsOn.property",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn.system",
            "path": "ConceptMap.group.element.target.dependsOn.system",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "meaningWhenMissing": "The code is in the source (dependsOn) or target (product) system"
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn.code",
            "path": "ConceptMap.group.element.target.dependsOn.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn.display",
            "path": "ConceptMap.group.element.target.dependsOn.display",
            "comment": "The display is ignored when processing the map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.product",
            "path": "ConceptMap.group.element.target.product",
            "min": 0,
            "max": "*",
            "contentReference": "#ConceptMap.group.element.target.dependsOn"
          },
          {
            "id": "ConceptMap.group.unmapped",
            "path": "ConceptMap.group.unmapped",
            "comment": "This only applies if the source code is in the system defined for the group.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "cmd-3",
                "severity": "error",
                "human": "If the mode is 'other-map', a code must be provided",
                "expression": "(mode = 'other-map') implies url.exists()",
                "xpath": "(f:mode/@value != 'other-map') or exists(f:url)"
              },
              {
                "key": "cmd-2",
                "severity": "error",
                "human": "If the mode is 'fixed', a code must be provided",
                "expression": "(mode = 'fixed') implies code.exists()",
                "xpath": "(f:mode/@value != 'fixed') or exists(f:code)"
              }
            ]
          },
          {
            "id": "ConceptMap.group.unmapped.id",
            "path": "ConceptMap.group.unmapped.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.unmapped.extension",
            "path": "ConceptMap.group.unmapped.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ConceptMap.group.unmapped.modifierExtension",
            "path": "ConceptMap.group.unmapped.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ConceptMap.group.unmapped.mode",
            "path": "ConceptMap.group.unmapped.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConceptMapGroupUnmappedMode"
                }
              ],
              "strength": "required",
              "description": "Defines which action to take if there is no match in the group.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/conceptmap-unmapped-mode"
              }
            }
          },
          {
            "id": "ConceptMap.group.unmapped.code",
            "path": "ConceptMap.group.unmapped.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "ConceptMap.group.unmapped.display",
            "path": "ConceptMap.group.unmapped.display",
            "comment": "The display is ignored when processing the map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.unmapped.url",
            "path": "ConceptMap.group.unmapped.url",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ConceptMap",
            "path": "ConceptMap",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ConceptMap.url",
            "path": "ConceptMap.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.identifier",
            "path": "ConceptMap.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this concept map outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.version",
            "path": "ConceptMap.version",
            "comment": "There may be different concept map instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the concept map with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.name",
            "path": "ConceptMap.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.title",
            "path": "ConceptMap.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.status",
            "path": "ConceptMap.status",
            "comment": "Allows filtering of concept maps that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired concept map without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "ConceptMap.experimental",
            "path": "ConceptMap.experimental",
            "comment": "Allows filtering of concept map that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental concept map in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ConceptMap.date",
            "path": "ConceptMap.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the concept map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.publisher",
            "path": "ConceptMap.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the concept map is the organization or individual primarily responsible for the maintenance and upkeep of the concept map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the concept map. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.contact",
            "path": "ConceptMap.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.description",
            "path": "ConceptMap.description",
            "comment": "The description is not intended to describe the semantics of the concept map. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ConceptMap.useContext",
            "path": "ConceptMap.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.jurisdiction",
            "path": "ConceptMap.jurisdiction",
            "comment": "It may be possible for the concept map to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ConceptMap.purpose",
            "path": "ConceptMap.purpose",
            "comment": "This element does not describe the usage of the concept map Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this concept map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ConceptMap.copyright",
            "path": "ConceptMap.copyright",
            "comment": "null Frequently, the copyright differs between the concept map, and codes that are included. The copyright statement should clearly differentiate between these when required.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ConceptMap.source[x]",
            "path": "ConceptMap.source[x]",
            "comment": "Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ValueSet"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.target[x]",
            "path": "ConceptMap.target[x]",
            "comment": "Should be a version specific reference. URIs SHOULD be absolute. If there is no source or target value set, the is no specified context for the map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ValueSet"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ConceptMap.group",
            "path": "ConceptMap.group",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ConceptMap.group.source",
            "path": "ConceptMap.group.source",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ConceptMap.group.sourceVersion",
            "path": "ConceptMap.group.sourceVersion",
            "comment": "The specification of a particular code system version may be required for code systems which lack concept permanence.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.target",
            "path": "ConceptMap.group.target",
            "comment": "Target may be omitted if all the targget element equivalence values are 'unmatched'.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ConceptMap.group.targetVersion",
            "path": "ConceptMap.group.targetVersion",
            "comment": "The specification of a particular code system version may be required for code systems which lack concept permanence.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SourceElement"
              }
            ],
            "path": "ConceptMap.group.element",
            "comment": "Generally, the ideal is that there would only be one mapping for each concept in the source value set, but a given concept may be mapped multiple times with different comments or dependencies.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.code",
            "path": "ConceptMap.group.element.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.display",
            "path": "ConceptMap.group.element.display",
            "comment": "The display is ignored when processing the map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TargetElement"
              }
            ],
            "path": "ConceptMap.group.element.target",
            "comment": "Ideally there would only be one map, with equal or equivalent mapping. But multiple maps are allowed for several narrower options, or to assert that other concepts are unmatched.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "cmd-1",
                "severity": "error",
                "human": "If the map is narrower or inexact, there SHALL be some comments",
                "expression": "comment.exists() or equivalence.empty() or ((equivalence != 'narrower') and (equivalence != 'inexact'))",
                "xpath": "exists(f:comment) or not(exists(f:equivalence)) or ((f:equivalence/@value != 'narrower') and (f:equivalence/@value != 'inexact'))"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.code",
            "path": "ConceptMap.group.element.target.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.display",
            "path": "ConceptMap.group.element.target.display",
            "comment": "The display is ignored when processing the map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.equivalence",
            "path": "ConceptMap.group.element.target.equivalence",
            "comment": "This element is labeled as a modifier because it may indicate that a target does not apply.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "defaultValueCode": "equivalent",
            "isModifier": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConceptMapEquivalence"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The degree of equivalence between concepts.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/concept-map-equivalence"
              }
            }
          },
          {
            "id": "ConceptMap.group.element.target.comment",
            "path": "ConceptMap.group.element.target.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "cmd-1"
            ]
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "OtherElement"
              }
            ],
            "path": "ConceptMap.group.element.target.dependsOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn.property",
            "path": "ConceptMap.group.element.target.dependsOn.property",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn.system",
            "path": "ConceptMap.group.element.target.dependsOn.system",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "meaningWhenMissing": "The code is in the source (dependsOn) or target (product) system"
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn.code",
            "path": "ConceptMap.group.element.target.dependsOn.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.dependsOn.display",
            "path": "ConceptMap.group.element.target.dependsOn.display",
            "comment": "The display is ignored when processing the map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.element.target.product",
            "path": "ConceptMap.group.element.target.product",
            "min": 0,
            "max": "*",
            "contentReference": "#ConceptMap.group.element.target.dependsOn"
          },
          {
            "id": "ConceptMap.group.unmapped",
            "path": "ConceptMap.group.unmapped",
            "comment": "This only applies if the source code is in the system defined for the group.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "cmd-3",
                "severity": "error",
                "human": "If the mode is 'other-map', a code must be provided",
                "expression": "(mode = 'other-map') implies url.exists()",
                "xpath": "(f:mode/@value != 'other-map') or exists(f:url)"
              },
              {
                "key": "cmd-2",
                "severity": "error",
                "human": "If the mode is 'fixed', a code must be provided",
                "expression": "(mode = 'fixed') implies code.exists()",
                "xpath": "(f:mode/@value != 'fixed') or exists(f:code)"
              }
            ]
          },
          {
            "id": "ConceptMap.group.unmapped.mode",
            "path": "ConceptMap.group.unmapped.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConceptMapGroupUnmappedMode"
                }
              ],
              "strength": "required",
              "description": "Defines which action to take if there is no match in the group.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/conceptmap-unmapped-mode"
              }
            }
          },
          {
            "id": "ConceptMap.group.unmapped.code",
            "path": "ConceptMap.group.unmapped.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "ConceptMap.group.unmapped.display",
            "path": "ConceptMap.group.unmapped.display",
            "comment": "The display is ignored when processing the map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ConceptMap.group.unmapped.url",
            "path": "ConceptMap.group.unmapped.url",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Condition",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Condition",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Condition",
      "name": "Condition",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Condition",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Condition",
            "path": "Condition",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "con-4",
                "severity": "error",
                "human": "If condition is abated, then clinicalStatus must be either inactive, resolved, or remission",
                "expression": "abatement.empty() or (abatement as boolean).not()  or clinicalStatus='resolved' or clinicalStatus='remission' or clinicalStatus='inactive'",
                "xpath": "not(f:abatementBoolean/@value=true() or (not(exists(f:abatementBoolean)) and exists(*[starts-with(local-name(.), 'abatement')])) or f:clinicalStatus/@value=('resolved', 'remission', 'inactive'))"
              },
              {
                "key": "con-3",
                "severity": "error",
                "human": "Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error",
                "expression": "verificationStatus='entered-in-error' or clinicalStatus.exists()",
                "xpath": "f:verificationStatus/@value='entered-in-error' or exists(f:clinicalStatus)"
              }
            ]
          },
          {
            "id": "Condition.id",
            "path": "Condition.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.meta",
            "path": "Condition.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.implicitRules",
            "path": "Condition.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Condition.language",
            "path": "Condition.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Condition.text",
            "path": "Condition.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Condition.contained",
            "path": "Condition.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Condition.extension",
            "path": "Condition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Condition.modifierExtension",
            "path": "Condition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Condition.identifier",
            "path": "Condition.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.clinicalStatus",
            "path": "Condition.clinicalStatus",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the condition as not currently valid or of concern.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "con-3",
              "con-4"
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionClinicalStatus"
                }
              ],
              "strength": "required",
              "description": "The clinical status of the condition or diagnosis.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-clinical"
              }
            }
          },
          {
            "id": "Condition.verificationStatus",
            "path": "Condition.verificationStatus",
            "comment": "verificationStatus is not required.  For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status.\n\nThis element is labeled as a modifier because the status contains the code refuted and entered-in-error that mark the Condition as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "defaultValueCode": "unknown",
            "condition": [
              "con-3"
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionVerificationStatus"
                }
              ],
              "strength": "required",
              "description": "The verification status to support or decline the clinical status of the condition or diagnosis.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-ver-status"
              }
            }
          },
          {
            "id": "Condition.category",
            "path": "Condition.category",
            "comment": "The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionCategory"
                }
              ],
              "strength": "example",
              "description": "A category assigned to the condition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-category"
              }
            }
          },
          {
            "id": "Condition.severity",
            "path": "Condition.severity",
            "comment": "Coding of the severity with a terminology is preferred, where possible.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionSeverity"
                }
              ],
              "strength": "preferred",
              "description": "A subjective assessment of the severity of the condition as evaluated by the clinician.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-severity"
              }
            }
          },
          {
            "id": "Condition.code",
            "path": "Condition.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionKind"
                }
              ],
              "strength": "example",
              "description": "Identification of the condition or diagnosis.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "Condition.bodySite",
            "path": "Condition.bodySite",
            "comment": "Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [body-site-instance](extension-body-site-instance.html).  May be a summary code, or a reference to a very precise definition of the location, or both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "Condition.subject",
            "path": "Condition.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.context",
            "path": "Condition.context",
            "comment": "This record indicates the encounter this particular record is associated with.  In the case of a \"new\" diagnosis reflecting ongoing/revised information about the condition, this might be distinct from the first encounter in which the underlying condition was first \"known\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.onset[x]",
            "path": "Condition.onset[x]",
            "comment": "Age is generally used when the patient reports an age at which the Condition began to occur.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Age"
              },
              {
                "code": "Period"
              },
              {
                "code": "Range"
              },
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.abatement[x]",
            "path": "Condition.abatement[x]",
            "comment": "There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated.  If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid.  When abatementString exists, it implies the condition is abated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Age"
              },
              {
                "code": "boolean"
              },
              {
                "code": "Period"
              },
              {
                "code": "Range"
              },
              {
                "code": "string"
              }
            ],
            "condition": [
              "con-4"
            ]
          },
          {
            "id": "Condition.assertedDate",
            "path": "Condition.assertedDate",
            "comment": "The assertedDate represents the date when this particular Condition record was created in the EHR, not the date of the most recent update in terms of when severity, abatement, etc. were specified.  The date of the last record modification can be retrieved from the resource metadata.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.asserter",
            "path": "Condition.asserter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.stage",
            "path": "Condition.stage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "con-1",
                "severity": "error",
                "human": "Stage SHALL have summary or assessment",
                "expression": "summary.exists() or assessment.exists()",
                "xpath": "exists(f:summary) or exists(f:assessment)"
              }
            ]
          },
          {
            "id": "Condition.stage.id",
            "path": "Condition.stage.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Condition.stage.extension",
            "path": "Condition.stage.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Condition.stage.modifierExtension",
            "path": "Condition.stage.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Condition.stage.summary",
            "path": "Condition.stage.summary",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "con-1"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionStage"
                }
              ],
              "strength": "example",
              "description": "Codes describing condition stages (e.g. Cancer stages).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-stage"
              }
            }
          },
          {
            "id": "Condition.stage.assessment",
            "path": "Condition.stage.assessment",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ClinicalImpression"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "condition": [
              "con-1"
            ]
          },
          {
            "id": "Condition.evidence",
            "path": "Condition.evidence",
            "comment": "The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "con-2",
                "severity": "error",
                "human": "evidence SHALL have code or details",
                "expression": "code.exists() or detail.exists()",
                "xpath": "exists(f:code) or exists(f:detail)"
              }
            ]
          },
          {
            "id": "Condition.evidence.id",
            "path": "Condition.evidence.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Condition.evidence.extension",
            "path": "Condition.evidence.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Condition.evidence.modifierExtension",
            "path": "Condition.evidence.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Condition.evidence.code",
            "path": "Condition.evidence.code",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "con-2"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ManifestationOrSymptom"
                }
              ],
              "strength": "example",
              "description": "Codes that describe the manifestation or symptoms of a condition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/manifestation-or-symptom"
              }
            }
          },
          {
            "id": "Condition.evidence.detail",
            "path": "Condition.evidence.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "condition": [
              "con-2"
            ],
            "isSummary": true
          },
          {
            "id": "Condition.note",
            "path": "Condition.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Condition",
            "path": "Condition",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "con-4",
                "severity": "error",
                "human": "If condition is abated, then clinicalStatus must be either inactive, resolved, or remission",
                "expression": "abatement.empty() or (abatement as boolean).not()  or clinicalStatus='resolved' or clinicalStatus='remission' or clinicalStatus='inactive'",
                "xpath": "not(f:abatementBoolean/@value=true() or (not(exists(f:abatementBoolean)) and exists(*[starts-with(local-name(.), 'abatement')])) or f:clinicalStatus/@value=('resolved', 'remission', 'inactive'))"
              },
              {
                "key": "con-3",
                "severity": "error",
                "human": "Condition.clinicalStatus SHALL be present if verificationStatus is not entered-in-error",
                "expression": "verificationStatus='entered-in-error' or clinicalStatus.exists()",
                "xpath": "f:verificationStatus/@value='entered-in-error' or exists(f:clinicalStatus)"
              }
            ]
          },
          {
            "id": "Condition.identifier",
            "path": "Condition.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.clinicalStatus",
            "path": "Condition.clinicalStatus",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the condition as not currently valid or of concern.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "con-3",
              "con-4"
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionClinicalStatus"
                }
              ],
              "strength": "required",
              "description": "The clinical status of the condition or diagnosis.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-clinical"
              }
            }
          },
          {
            "id": "Condition.verificationStatus",
            "path": "Condition.verificationStatus",
            "comment": "verificationStatus is not required.  For example, when a patient has abdominal pain in the ED, there is not likely going to be a verification status.\n\nThis element is labeled as a modifier because the status contains the code refuted and entered-in-error that mark the Condition as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "defaultValueCode": "unknown",
            "condition": [
              "con-3"
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionVerificationStatus"
                }
              ],
              "strength": "required",
              "description": "The verification status to support or decline the clinical status of the condition or diagnosis.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-ver-status"
              }
            }
          },
          {
            "id": "Condition.category",
            "path": "Condition.category",
            "comment": "The categorization is often highly contextual and may appear poorly differentiated or not very useful in other contexts.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionCategory"
                }
              ],
              "strength": "example",
              "description": "A category assigned to the condition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-category"
              }
            }
          },
          {
            "id": "Condition.severity",
            "path": "Condition.severity",
            "comment": "Coding of the severity with a terminology is preferred, where possible.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionSeverity"
                }
              ],
              "strength": "preferred",
              "description": "A subjective assessment of the severity of the condition as evaluated by the clinician.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-severity"
              }
            }
          },
          {
            "id": "Condition.code",
            "path": "Condition.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionKind"
                }
              ],
              "strength": "example",
              "description": "Identification of the condition or diagnosis.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "Condition.bodySite",
            "path": "Condition.bodySite",
            "comment": "Only used if not implicit in code found in Condition.code. If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [body-site-instance](extension-body-site-instance.html).  May be a summary code, or a reference to a very precise definition of the location, or both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "Condition.subject",
            "path": "Condition.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.context",
            "path": "Condition.context",
            "comment": "This record indicates the encounter this particular record is associated with.  In the case of a \"new\" diagnosis reflecting ongoing/revised information about the condition, this might be distinct from the first encounter in which the underlying condition was first \"known\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.onset[x]",
            "path": "Condition.onset[x]",
            "comment": "Age is generally used when the patient reports an age at which the Condition began to occur.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Age"
              },
              {
                "code": "Period"
              },
              {
                "code": "Range"
              },
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.abatement[x]",
            "path": "Condition.abatement[x]",
            "comment": "There is no explicit distinction between resolution and remission because in many cases the distinction is not clear. Age is generally used when the patient reports an age at which the Condition abated.  If there is no abatement element, it is unknown whether the condition has resolved or entered remission; applications and users should generally assume that the condition is still valid.  When abatementString exists, it implies the condition is abated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Age"
              },
              {
                "code": "boolean"
              },
              {
                "code": "Period"
              },
              {
                "code": "Range"
              },
              {
                "code": "string"
              }
            ],
            "condition": [
              "con-4"
            ]
          },
          {
            "id": "Condition.assertedDate",
            "path": "Condition.assertedDate",
            "comment": "The assertedDate represents the date when this particular Condition record was created in the EHR, not the date of the most recent update in terms of when severity, abatement, etc. were specified.  The date of the last record modification can be retrieved from the resource metadata.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.asserter",
            "path": "Condition.asserter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Condition.stage",
            "path": "Condition.stage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "con-1",
                "severity": "error",
                "human": "Stage SHALL have summary or assessment",
                "expression": "summary.exists() or assessment.exists()",
                "xpath": "exists(f:summary) or exists(f:assessment)"
              }
            ]
          },
          {
            "id": "Condition.stage.summary",
            "path": "Condition.stage.summary",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "con-1"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionStage"
                }
              ],
              "strength": "example",
              "description": "Codes describing condition stages (e.g. Cancer stages).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-stage"
              }
            }
          },
          {
            "id": "Condition.stage.assessment",
            "path": "Condition.stage.assessment",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ClinicalImpression"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "condition": [
              "con-1"
            ]
          },
          {
            "id": "Condition.evidence",
            "path": "Condition.evidence",
            "comment": "The evidence may be a simple list of coded symptoms/manifestations, or references to observations or formal assessments, or both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "con-2",
                "severity": "error",
                "human": "evidence SHALL have code or details",
                "expression": "code.exists() or detail.exists()",
                "xpath": "exists(f:code) or exists(f:detail)"
              }
            ]
          },
          {
            "id": "Condition.evidence.code",
            "path": "Condition.evidence.code",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "con-2"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ManifestationOrSymptom"
                }
              ],
              "strength": "example",
              "description": "Codes that describe the manifestation or symptoms of a condition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/manifestation-or-symptom"
              }
            }
          },
          {
            "id": "Condition.evidence.detail",
            "path": "Condition.evidence.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "condition": [
              "con-2"
            ],
            "isSummary": true
          },
          {
            "id": "Condition.note",
            "path": "Condition.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Consent",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Consent",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "cbcc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Consent",
      "name": "Consent",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Consent",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Consent",
            "path": "Consent",
            "comment": "Broadly, there are 3 key areas of consent for patients: Consent around sharing information (aka Privacy Consent Directive - Authorization to Collect, Use, or Disclose information), consent for specific treatment, or kinds of treatment, and general advance care directives.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "ppc-1",
                "severity": "error",
                "human": "Either a Policy or PolicyRule",
                "expression": "policy.exists() or policyRule.exists()",
                "xpath": "exists(f:policy) or exists(f:policyRule)"
              }
            ]
          },
          {
            "id": "Consent.id",
            "path": "Consent.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.meta",
            "path": "Consent.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.implicitRules",
            "path": "Consent.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Consent.language",
            "path": "Consent.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Consent.text",
            "path": "Consent.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Consent.contained",
            "path": "Consent.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Consent.extension",
            "path": "Consent.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Consent.modifierExtension",
            "path": "Consent.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Consent.identifier",
            "path": "Consent.identifier",
            "comment": "This identifier is identifies this copy of the consent. Where this identifier is also used elsewhere as the identifier for a consent record (e.g. a CDA consent document) then the consent details are expected to be the same.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueIdentifier": {
                  "system": "urn:ietf:rfc:3986",
                  "value": "Local eCMS identifier"
                }
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.status",
            "path": "Consent.status",
            "comment": "This element is labeled as a modifier because the status contains the codes rejected and entered-in-error that mark the Consent as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentState"
                }
              ],
              "strength": "required",
              "description": "Indicates the state of the consent",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-state-codes"
              }
            }
          },
          {
            "id": "Consent.category",
            "path": "Consent.category",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentCategory"
                }
              ],
              "strength": "example",
              "description": "A classification of the type of consents found in a consent statement",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-category"
              }
            }
          },
          {
            "id": "Consent.patient",
            "path": "Consent.patient",
            "comment": "Commonly, the patient the consent pertains to is the author, but for young and old people, it may be some other person.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.period",
            "path": "Consent.period",
            "comment": "This can be a subset of the period of the original statement.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "meaningWhenMissing": "all date ranges included",
            "isSummary": true
          },
          {
            "id": "Consent.dateTime",
            "path": "Consent.dateTime",
            "comment": "This is not the time of the original consent, but the time that this statement was made or derived.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.consentingParty",
            "path": "Consent.consentingParty",
            "comment": "Commonly, the patient the consent pertains to is the consentor, but particularly for young and old people, it may be some other person - e.g. a legal guardian.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.actor",
            "path": "Consent.actor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "meaningWhenMissing": "There is no specific actor associated with the consent",
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.actor.id",
            "path": "Consent.actor.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Consent.actor.extension",
            "path": "Consent.actor.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Consent.actor.modifierExtension",
            "path": "Consent.actor.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Consent.actor.role",
            "path": "Consent.actor.role",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentActorRole"
                }
              ],
              "strength": "extensible",
              "description": "How an actor is involved in the consent considerations",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-role-type"
              }
            }
          },
          {
            "id": "Consent.actor.reference",
            "path": "Consent.actor.reference",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "Consent.action",
            "path": "Consent.action",
            "comment": "Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "meaningWhenMissing": "all actions",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentAction"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the consent action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-action"
              }
            }
          },
          {
            "id": "Consent.organization",
            "path": "Consent.organization",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.source[x]",
            "path": "Consent.source[x]",
            "comment": "The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              },
              {
                "code": "Identifier"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Consent"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.policy",
            "path": "Consent.policy",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Consent.policy.id",
            "path": "Consent.policy.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Consent.policy.extension",
            "path": "Consent.policy.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Consent.policy.modifierExtension",
            "path": "Consent.policy.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Consent.policy.authority",
            "path": "Consent.policy.authority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "ppc-1"
            ]
          },
          {
            "id": "Consent.policy.uri",
            "path": "Consent.policy.uri",
            "comment": "This element is for discoverability / documentation, and does not modify or qualify the policy rules.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "ppc-1"
            ]
          },
          {
            "id": "Consent.policyRule",
            "path": "Consent.policyRule",
            "comment": "If the policy reference is not known, the resource cannot be processed. Where the reference is absent, there is no particular policy other than what is expressed directly in the consent resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "ppc-1"
            ],
            "isSummary": true
          },
          {
            "id": "Consent.securityLabel",
            "path": "Consent.securityLabel",
            "comment": "If the consent specifies a security label of \"R\" then it applies to all resources that are labeled \"R\" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. Not all of the security labels make sense for use in this element (may define a narrower value set?).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SecurityLabels"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-labels"
              }
            }
          },
          {
            "id": "Consent.purpose",
            "path": "Consent.purpose",
            "comment": "This element is for discoverability / documentation, and does not modify or qualify the policy (e.g. the policy itself describes the purposes for which it applies).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PurposeOfUse"
                }
              ],
              "strength": "extensible",
              "description": "What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "Consent.dataPeriod",
            "path": "Consent.dataPeriod",
            "comment": "This has a different sense to the Consent.period - that is when the consent agreement holds. This is the time period of the data that is controlled by the agreement.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.data",
            "path": "Consent.data",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "meaningWhenMissing": "all data",
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.data.id",
            "path": "Consent.data.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Consent.data.extension",
            "path": "Consent.data.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Consent.data.modifierExtension",
            "path": "Consent.data.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Consent.data.meaning",
            "path": "Consent.data.meaning",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentDataMeaning"
                }
              ],
              "strength": "required",
              "description": "How a resource reference is interpreted when testing consent restrictions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-data-meaning"
              }
            }
          },
          {
            "id": "Consent.data.reference",
            "path": "Consent.data.reference",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.except",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Except"
              }
            ],
            "path": "Consent.except",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.except.id",
            "path": "Consent.except.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Consent.except.extension",
            "path": "Consent.except.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Consent.except.modifierExtension",
            "path": "Consent.except.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Consent.except.type",
            "path": "Consent.except.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentExceptType"
                }
              ],
              "strength": "required",
              "description": "How an exception statement is applied, such as adding additional consent or removing consent",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-except-type"
              }
            }
          },
          {
            "id": "Consent.except.period",
            "path": "Consent.except.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.except.actor",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ExceptActor"
              }
            ],
            "path": "Consent.except.actor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "meaningWhenMissing": "There is no specific actor associated with the exception",
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.except.actor.id",
            "path": "Consent.except.actor.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Consent.except.actor.extension",
            "path": "Consent.except.actor.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Consent.except.actor.modifierExtension",
            "path": "Consent.except.actor.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Consent.except.actor.role",
            "path": "Consent.except.actor.role",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentActorRole"
                }
              ],
              "strength": "extensible",
              "description": "How an actor is involved in the consent considerations",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-role-type"
              }
            }
          },
          {
            "id": "Consent.except.actor.reference",
            "path": "Consent.except.actor.reference",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "Consent.except.action",
            "path": "Consent.except.action",
            "comment": "Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "meaningWhenMissing": "all actions",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentAction"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the consent action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-action"
              }
            }
          },
          {
            "id": "Consent.except.securityLabel",
            "path": "Consent.except.securityLabel",
            "comment": "If the consent specifies a security label of \"R\" then it applies to all resources that are labeled \"R\" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. Not all of the security labels make sense for use in this element (may define a narrower value set?).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SecurityLabels"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-labels"
              }
            }
          },
          {
            "id": "Consent.except.purpose",
            "path": "Consent.except.purpose",
            "comment": "E.g. if the purpose is 'research', then the operational context must be research, in order for the consent to apply. Not all of the security labels make sense for use in this element (may define a narrower value set?).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PurposeOfUse"
                }
              ],
              "strength": "extensible",
              "description": "What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "Consent.except.class",
            "path": "Consent.except.class",
            "comment": "Multiple types are or'ed together. The intention of the contentType element is that the codes refer to profiles or document types defined in a standard or an implementation guide somewhere.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentContentClass"
                }
              ],
              "strength": "extensible",
              "description": "The class (type) of information a consent rule covers",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-content-class"
              }
            }
          },
          {
            "id": "Consent.except.code",
            "path": "Consent.except.code",
            "comment": "Typical use of this is a Document code with class = CDA.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentContentCode"
                }
              ],
              "strength": "example",
              "description": "If this code is found in an instance, then the exception applies",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-content-code"
              }
            }
          },
          {
            "id": "Consent.except.dataPeriod",
            "path": "Consent.except.dataPeriod",
            "comment": "This has a different sense to the Consent.period - that is when the consent agreement holds. This is the time period of the data that is controlled by the agreement.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.except.data",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ExceptData"
              }
            ],
            "path": "Consent.except.data",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "meaningWhenMissing": "all data",
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.except.data.id",
            "path": "Consent.except.data.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Consent.except.data.extension",
            "path": "Consent.except.data.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Consent.except.data.modifierExtension",
            "path": "Consent.except.data.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Consent.except.data.meaning",
            "path": "Consent.except.data.meaning",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentDataMeaning"
                }
              ],
              "strength": "required",
              "description": "How a resource reference is interpreted when testing consent restrictions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-data-meaning"
              }
            }
          },
          {
            "id": "Consent.except.data.reference",
            "path": "Consent.except.data.reference",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Consent",
            "path": "Consent",
            "comment": "Broadly, there are 3 key areas of consent for patients: Consent around sharing information (aka Privacy Consent Directive - Authorization to Collect, Use, or Disclose information), consent for specific treatment, or kinds of treatment, and general advance care directives.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "ppc-1",
                "severity": "error",
                "human": "Either a Policy or PolicyRule",
                "expression": "policy.exists() or policyRule.exists()",
                "xpath": "exists(f:policy) or exists(f:policyRule)"
              }
            ]
          },
          {
            "id": "Consent.identifier",
            "path": "Consent.identifier",
            "comment": "This identifier is identifies this copy of the consent. Where this identifier is also used elsewhere as the identifier for a consent record (e.g. a CDA consent document) then the consent details are expected to be the same.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueIdentifier": {
                  "system": "urn:ietf:rfc:3986",
                  "value": "Local eCMS identifier"
                }
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.status",
            "path": "Consent.status",
            "comment": "This element is labeled as a modifier because the status contains the codes rejected and entered-in-error that mark the Consent as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentState"
                }
              ],
              "strength": "required",
              "description": "Indicates the state of the consent",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-state-codes"
              }
            }
          },
          {
            "id": "Consent.category",
            "path": "Consent.category",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentCategory"
                }
              ],
              "strength": "example",
              "description": "A classification of the type of consents found in a consent statement",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-category"
              }
            }
          },
          {
            "id": "Consent.patient",
            "path": "Consent.patient",
            "comment": "Commonly, the patient the consent pertains to is the author, but for young and old people, it may be some other person.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.period",
            "path": "Consent.period",
            "comment": "This can be a subset of the period of the original statement.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "meaningWhenMissing": "all date ranges included",
            "isSummary": true
          },
          {
            "id": "Consent.dateTime",
            "path": "Consent.dateTime",
            "comment": "This is not the time of the original consent, but the time that this statement was made or derived.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.consentingParty",
            "path": "Consent.consentingParty",
            "comment": "Commonly, the patient the consent pertains to is the consentor, but particularly for young and old people, it may be some other person - e.g. a legal guardian.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.actor",
            "path": "Consent.actor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "meaningWhenMissing": "There is no specific actor associated with the consent",
            "isSummary": true
          },
          {
            "id": "Consent.actor.role",
            "path": "Consent.actor.role",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentActorRole"
                }
              ],
              "strength": "extensible",
              "description": "How an actor is involved in the consent considerations",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-role-type"
              }
            }
          },
          {
            "id": "Consent.actor.reference",
            "path": "Consent.actor.reference",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "Consent.action",
            "path": "Consent.action",
            "comment": "Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "meaningWhenMissing": "all actions",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentAction"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the consent action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-action"
              }
            }
          },
          {
            "id": "Consent.organization",
            "path": "Consent.organization",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.source[x]",
            "path": "Consent.source[x]",
            "comment": "The source can be contained inline (Attachment), referenced directly (Consent), referenced in a consent repository (DocumentReference), or simply by an identifier (Identifier), e.g. a CDA document id.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              },
              {
                "code": "Identifier"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Consent"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.policy",
            "path": "Consent.policy",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Consent.policy.authority",
            "path": "Consent.policy.authority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "ppc-1"
            ]
          },
          {
            "id": "Consent.policy.uri",
            "path": "Consent.policy.uri",
            "comment": "This element is for discoverability / documentation, and does not modify or qualify the policy rules.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "ppc-1"
            ]
          },
          {
            "id": "Consent.policyRule",
            "path": "Consent.policyRule",
            "comment": "If the policy reference is not known, the resource cannot be processed. Where the reference is absent, there is no particular policy other than what is expressed directly in the consent resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "ppc-1"
            ],
            "isSummary": true
          },
          {
            "id": "Consent.securityLabel",
            "path": "Consent.securityLabel",
            "comment": "If the consent specifies a security label of \"R\" then it applies to all resources that are labeled \"R\" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. Not all of the security labels make sense for use in this element (may define a narrower value set?).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SecurityLabels"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-labels"
              }
            }
          },
          {
            "id": "Consent.purpose",
            "path": "Consent.purpose",
            "comment": "This element is for discoverability / documentation, and does not modify or qualify the policy (e.g. the policy itself describes the purposes for which it applies).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PurposeOfUse"
                }
              ],
              "strength": "extensible",
              "description": "What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "Consent.dataPeriod",
            "path": "Consent.dataPeriod",
            "comment": "This has a different sense to the Consent.period - that is when the consent agreement holds. This is the time period of the data that is controlled by the agreement.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.data",
            "path": "Consent.data",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "meaningWhenMissing": "all data",
            "isSummary": true
          },
          {
            "id": "Consent.data.meaning",
            "path": "Consent.data.meaning",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentDataMeaning"
                }
              ],
              "strength": "required",
              "description": "How a resource reference is interpreted when testing consent restrictions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-data-meaning"
              }
            }
          },
          {
            "id": "Consent.data.reference",
            "path": "Consent.data.reference",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.except",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Except"
              }
            ],
            "path": "Consent.except",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.except.type",
            "path": "Consent.except.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentExceptType"
                }
              ],
              "strength": "required",
              "description": "How an exception statement is applied, such as adding additional consent or removing consent",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-except-type"
              }
            }
          },
          {
            "id": "Consent.except.period",
            "path": "Consent.except.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.except.actor",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ExceptActor"
              }
            ],
            "path": "Consent.except.actor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "meaningWhenMissing": "There is no specific actor associated with the exception",
            "isSummary": true
          },
          {
            "id": "Consent.except.actor.role",
            "path": "Consent.except.actor.role",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentActorRole"
                }
              ],
              "strength": "extensible",
              "description": "How an actor is involved in the consent considerations",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-role-type"
              }
            }
          },
          {
            "id": "Consent.except.actor.reference",
            "path": "Consent.except.actor.reference",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "Consent.except.action",
            "path": "Consent.except.action",
            "comment": "Note that this is the direct action (not the grounds for the action covered in the purpose element). At present, the only action in the understood and tested scope of this resource is 'read'.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "meaningWhenMissing": "all actions",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentAction"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the consent action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-action"
              }
            }
          },
          {
            "id": "Consent.except.securityLabel",
            "path": "Consent.except.securityLabel",
            "comment": "If the consent specifies a security label of \"R\" then it applies to all resources that are labeled \"R\" or lower. E.g. for Confidentiality, it's a high water mark. For other kinds of security labels, subsumption logic applies. Not all of the security labels make sense for use in this element (may define a narrower value set?).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SecurityLabels"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-labels"
              }
            }
          },
          {
            "id": "Consent.except.purpose",
            "path": "Consent.except.purpose",
            "comment": "E.g. if the purpose is 'research', then the operational context must be research, in order for the consent to apply. Not all of the security labels make sense for use in this element (may define a narrower value set?).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PurposeOfUse"
                }
              ],
              "strength": "extensible",
              "description": "What purposes of use are controlled by this exception. If more than one label is specified, operations must have all the specified labels",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "Consent.except.class",
            "path": "Consent.except.class",
            "comment": "Multiple types are or'ed together. The intention of the contentType element is that the codes refer to profiles or document types defined in a standard or an implementation guide somewhere.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentContentClass"
                }
              ],
              "strength": "extensible",
              "description": "The class (type) of information a consent rule covers",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-content-class"
              }
            }
          },
          {
            "id": "Consent.except.code",
            "path": "Consent.except.code",
            "comment": "Typical use of this is a Document code with class = CDA.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentContentCode"
                }
              ],
              "strength": "example",
              "description": "If this code is found in an instance, then the exception applies",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-content-code"
              }
            }
          },
          {
            "id": "Consent.except.dataPeriod",
            "path": "Consent.except.dataPeriod",
            "comment": "This has a different sense to the Consent.period - that is when the consent agreement holds. This is the time period of the data that is controlled by the agreement.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Consent.except.data",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ExceptData"
              }
            ],
            "path": "Consent.except.data",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "meaningWhenMissing": "all data",
            "isSummary": true
          },
          {
            "id": "Consent.except.data.meaning",
            "path": "Consent.except.data.meaning",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConsentDataMeaning"
                }
              ],
              "strength": "required",
              "description": "How a resource reference is interpreted when testing consent restrictions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consent-data-meaning"
              }
            }
          },
          {
            "id": "Consent.except.data.reference",
            "path": "Consent.except.data.reference",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Contract",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Contract",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Contract",
      "name": "Contract",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Contract",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Contract",
            "path": "Contract",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Contract.id",
            "path": "Contract.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.meta",
            "path": "Contract.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.implicitRules",
            "path": "Contract.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Contract.language",
            "path": "Contract.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Contract.text",
            "path": "Contract.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Contract.contained",
            "path": "Contract.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Contract.extension",
            "path": "Contract.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Contract.modifierExtension",
            "path": "Contract.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Contract.identifier",
            "path": "Contract.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.status",
            "path": "Contract.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the contract as not currently valid or active.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-status"
              }
            }
          },
          {
            "id": "Contract.issued",
            "path": "Contract.issued",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.applies",
            "path": "Contract.applies",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.subject",
            "path": "Contract.subject",
            "comment": "The Contract.subject is an entity that has some role with respect to the Contract.topic and Contract.topic.term, which is of focal interest to the parties to the contract and likely impacted in a significant way by the Contract.action/Contract.action.reason and the Contract.term.action/Contract.action.reason. \rIn many cases, the Contract.subject is a Contract.signer if the subject is an adult; has a legal interest in the contract; and incompetent to participate in the contract agreement.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.topic",
            "path": "Contract.topic",
            "comment": "The Contract.topic may be an application for or offer of a policy or service (e.g., uri to a consent directive form or a health insurance policy), which becomes the Contract once accepted by both the grantor and grantee. \rThe Contract Resource may function simply as the computable representation of the executed contract, which may be the attached to the Contract Resource as the “binding” or as the “friendly” electronic form.  For example, a Contract Resource may be automatically populated with the values expressed in a related QuestionnaireResponse. \rHowever, the Contract Resource may be considered the legally binding contract if it is the only “executed” form of this contract, and includes the signatures as *The Contract Resource may function as the computable representation of an application or offer in a pre-executed Contract if the grantor has not entered any values.  In this case, it is populated with values in a “legal” form of the application or offer or by the values in an associated Questionnaire.  If the grantor has filled in the legal form or the associated Questionnaire Response, then these values are used to populate a pre-executed Contract Resource.\rIf the Contract.topic is considered an application or offer, then the policy is often required to be attached as the “legal” basis for the application to ensure “informed consent” to the contract, and that any discrepancy between the application and the policy are interpreted against the policy.  Implementers should check organizational and jurisdictional policies to determine the relationship among multiple representations of a contract pre- and post-execution.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.authority",
            "path": "Contract.authority",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Contract.domain",
            "path": "Contract.domain",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Contract.type",
            "path": "Contract.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractType"
                }
              ],
              "strength": "example",
              "description": "List of overall contract codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-type"
              }
            }
          },
          {
            "id": "Contract.subType",
            "path": "Contract.subType",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractSubtype"
                }
              ],
              "strength": "example",
              "description": "Detailed codes within the above.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-subtype"
              }
            }
          },
          {
            "id": "Contract.action",
            "path": "Contract.action",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractAction"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the contract action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-action"
              }
            }
          },
          {
            "id": "Contract.actionReason",
            "path": "Contract.actionReason",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractActionReason"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the contract action reason.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "Contract.decisionType",
            "path": "Contract.decisionType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractDecisionType"
                }
              ],
              "strength": "extensible",
              "description": "The type of decision made by a grantor with respect to an offer made by a grantee.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActConsentDirective"
              }
            }
          },
          {
            "id": "Contract.contentDerivative",
            "path": "Contract.contentDerivative",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractContentDerivative"
                }
              ],
              "strength": "example",
              "description": "This is an example set of Content Derivative type codes, which represent the minimal content derived from the basal information source.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-content-derivative"
              }
            }
          },
          {
            "id": "Contract.securityLabel",
            "path": "Contract.securityLabel",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SecurityLabels"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-labels"
              }
            }
          },
          {
            "id": "Contract.agent",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Agent"
              }
            ],
            "path": "Contract.agent",
            "comment": "Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.\rFor example, in cases of actions initiated by one user for other users, or in events that involve more than one user, hardware device, software, or system process. However, only one user may be the initiator/requestor for the event.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Contract.agent.id",
            "path": "Contract.agent.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Contract.agent.extension",
            "path": "Contract.agent.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Contract.agent.modifierExtension",
            "path": "Contract.agent.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Contract.agent.actor",
            "path": "Contract.agent.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ]
          },
          {
            "id": "Contract.agent.role",
            "path": "Contract.agent.role",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractActorRole"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the contract actor role.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-actorrole"
              }
            }
          },
          {
            "id": "Contract.signer",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Signatory"
              }
            ],
            "path": "Contract.signer",
            "comment": "Signers who are principal parties to the contract are bound by the Contract.activity related to the Contract.topic, and the Contract.term(s), which either extend or restrict the overall action on the topic by, for example, stipulating specific policies or obligations constraining actions, action reason, or agents with respect to some or all of the topic.\rFor example, specifying how policies or obligations shall constrain actions and action reasons permitted or denied on all or a subset of the Contract.topic (e.g., all or a portion of property being transferred by the contract), agents (e.g., who can resell, assign interests, or alter the property being transferred by the contract), actions, and action reasons; or with respect to Contract.terms, stipulating, extending, or limiting the Contract.period of applicability or valuation of items under consideration.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Contract.signer.id",
            "path": "Contract.signer.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Contract.signer.extension",
            "path": "Contract.signer.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Contract.signer.modifierExtension",
            "path": "Contract.signer.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Contract.signer.type",
            "path": "Contract.signer.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractSignerType"
                }
              ],
              "strength": "preferred",
              "description": "List of parties who may be signing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-signer-type"
              }
            }
          },
          {
            "id": "Contract.signer.party",
            "path": "Contract.signer.party",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "Contract.signer.signature",
            "path": "Contract.signer.signature",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "Signature"
              }
            ]
          },
          {
            "id": "Contract.valuedItem",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ValuedItem"
              }
            ],
            "path": "Contract.valuedItem",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.id",
            "path": "Contract.valuedItem.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.extension",
            "path": "Contract.valuedItem.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.modifierExtension",
            "path": "Contract.valuedItem.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Contract.valuedItem.entity[x]",
            "path": "Contract.valuedItem.entity[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.identifier",
            "path": "Contract.valuedItem.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.effectiveTime",
            "path": "Contract.valuedItem.effectiveTime",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.quantity",
            "path": "Contract.valuedItem.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.unitPrice",
            "path": "Contract.valuedItem.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.factor",
            "path": "Contract.valuedItem.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.points",
            "path": "Contract.valuedItem.points",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.net",
            "path": "Contract.valuedItem.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Contract.term",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Term"
              }
            ],
            "path": "Contract.term",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Contract.term.id",
            "path": "Contract.term.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Contract.term.extension",
            "path": "Contract.term.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Contract.term.modifierExtension",
            "path": "Contract.term.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Contract.term.identifier",
            "path": "Contract.term.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.term.issued",
            "path": "Contract.term.issued",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.term.applies",
            "path": "Contract.term.applies",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.term.type",
            "path": "Contract.term.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractTermType"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the types of contract provisions.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-term-type"
              }
            }
          },
          {
            "id": "Contract.term.subType",
            "path": "Contract.term.subType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractTermSubType"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the subtypes of contract provisions.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-term-subtype"
              }
            }
          },
          {
            "id": "Contract.term.topic",
            "path": "Contract.term.topic",
            "comment": "The Contract.term.topic, as a Contract Resource subpart, is handled in the same manner as the Contract Resource as discussed above.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.term.action",
            "path": "Contract.term.action",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractAction"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the contract action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-action"
              }
            }
          },
          {
            "id": "Contract.term.actionReason",
            "path": "Contract.term.actionReason",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractActionReason"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the contract action reason.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "Contract.term.securityLabel",
            "path": "Contract.term.securityLabel",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SecurityLabels"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-labels"
              }
            }
          },
          {
            "id": "Contract.term.agent",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TermAgent"
              }
            ],
            "path": "Contract.term.agent",
            "comment": "Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.\rFor example, in cases of actions initiated by one user for other users, or in events that involve more than one user, hardware device, software, or system process. However, only one user may be the initiator/requestor for the event.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Contract.term.agent.id",
            "path": "Contract.term.agent.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Contract.term.agent.extension",
            "path": "Contract.term.agent.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Contract.term.agent.modifierExtension",
            "path": "Contract.term.agent.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Contract.term.agent.actor",
            "path": "Contract.term.agent.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ]
          },
          {
            "id": "Contract.term.agent.role",
            "path": "Contract.term.agent.role",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractActorRole"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the contract actor role.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-actorrole"
              }
            }
          },
          {
            "id": "Contract.term.text",
            "path": "Contract.term.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TermValuedItem"
              }
            ],
            "path": "Contract.term.valuedItem",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.id",
            "path": "Contract.term.valuedItem.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.extension",
            "path": "Contract.term.valuedItem.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.modifierExtension",
            "path": "Contract.term.valuedItem.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Contract.term.valuedItem.entity[x]",
            "path": "Contract.term.valuedItem.entity[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.identifier",
            "path": "Contract.term.valuedItem.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.effectiveTime",
            "path": "Contract.term.valuedItem.effectiveTime",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.quantity",
            "path": "Contract.term.valuedItem.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.unitPrice",
            "path": "Contract.term.valuedItem.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.factor",
            "path": "Contract.term.valuedItem.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.points",
            "path": "Contract.term.valuedItem.points",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.net",
            "path": "Contract.term.valuedItem.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Contract.term.group",
            "path": "Contract.term.group",
            "min": 0,
            "max": "*",
            "contentReference": "#Contract.term"
          },
          {
            "id": "Contract.binding[x]",
            "path": "Contract.binding[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              }
            ]
          },
          {
            "id": "Contract.friendly",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "FriendlyLanguage"
              }
            ],
            "path": "Contract.friendly",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Contract.friendly.id",
            "path": "Contract.friendly.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Contract.friendly.extension",
            "path": "Contract.friendly.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Contract.friendly.modifierExtension",
            "path": "Contract.friendly.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Contract.friendly.content[x]",
            "path": "Contract.friendly.content[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              }
            ]
          },
          {
            "id": "Contract.legal",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "LegalLanguage"
              }
            ],
            "path": "Contract.legal",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Contract.legal.id",
            "path": "Contract.legal.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Contract.legal.extension",
            "path": "Contract.legal.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Contract.legal.modifierExtension",
            "path": "Contract.legal.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Contract.legal.content[x]",
            "path": "Contract.legal.content[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              }
            ]
          },
          {
            "id": "Contract.rule",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ComputableLanguage"
              }
            ],
            "path": "Contract.rule",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Contract.rule.id",
            "path": "Contract.rule.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Contract.rule.extension",
            "path": "Contract.rule.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Contract.rule.modifierExtension",
            "path": "Contract.rule.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Contract.rule.content[x]",
            "path": "Contract.rule.content[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Contract",
            "path": "Contract",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Contract.identifier",
            "path": "Contract.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.status",
            "path": "Contract.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the contract as not currently valid or active.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-status"
              }
            }
          },
          {
            "id": "Contract.issued",
            "path": "Contract.issued",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.applies",
            "path": "Contract.applies",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.subject",
            "path": "Contract.subject",
            "comment": "The Contract.subject is an entity that has some role with respect to the Contract.topic and Contract.topic.term, which is of focal interest to the parties to the contract and likely impacted in a significant way by the Contract.action/Contract.action.reason and the Contract.term.action/Contract.action.reason. \rIn many cases, the Contract.subject is a Contract.signer if the subject is an adult; has a legal interest in the contract; and incompetent to participate in the contract agreement.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.topic",
            "path": "Contract.topic",
            "comment": "The Contract.topic may be an application for or offer of a policy or service (e.g., uri to a consent directive form or a health insurance policy), which becomes the Contract once accepted by both the grantor and grantee. \rThe Contract Resource may function simply as the computable representation of the executed contract, which may be the attached to the Contract Resource as the “binding” or as the “friendly” electronic form.  For example, a Contract Resource may be automatically populated with the values expressed in a related QuestionnaireResponse. \rHowever, the Contract Resource may be considered the legally binding contract if it is the only “executed” form of this contract, and includes the signatures as *The Contract Resource may function as the computable representation of an application or offer in a pre-executed Contract if the grantor has not entered any values.  In this case, it is populated with values in a “legal” form of the application or offer or by the values in an associated Questionnaire.  If the grantor has filled in the legal form or the associated Questionnaire Response, then these values are used to populate a pre-executed Contract Resource.\rIf the Contract.topic is considered an application or offer, then the policy is often required to be attached as the “legal” basis for the application to ensure “informed consent” to the contract, and that any discrepancy between the application and the policy are interpreted against the policy.  Implementers should check organizational and jurisdictional policies to determine the relationship among multiple representations of a contract pre- and post-execution.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.authority",
            "path": "Contract.authority",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Contract.domain",
            "path": "Contract.domain",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Contract.type",
            "path": "Contract.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractType"
                }
              ],
              "strength": "example",
              "description": "List of overall contract codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-type"
              }
            }
          },
          {
            "id": "Contract.subType",
            "path": "Contract.subType",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractSubtype"
                }
              ],
              "strength": "example",
              "description": "Detailed codes within the above.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-subtype"
              }
            }
          },
          {
            "id": "Contract.action",
            "path": "Contract.action",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractAction"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the contract action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-action"
              }
            }
          },
          {
            "id": "Contract.actionReason",
            "path": "Contract.actionReason",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractActionReason"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the contract action reason.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "Contract.decisionType",
            "path": "Contract.decisionType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractDecisionType"
                }
              ],
              "strength": "extensible",
              "description": "The type of decision made by a grantor with respect to an offer made by a grantee.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActConsentDirective"
              }
            }
          },
          {
            "id": "Contract.contentDerivative",
            "path": "Contract.contentDerivative",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractContentDerivative"
                }
              ],
              "strength": "example",
              "description": "This is an example set of Content Derivative type codes, which represent the minimal content derived from the basal information source.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-content-derivative"
              }
            }
          },
          {
            "id": "Contract.securityLabel",
            "path": "Contract.securityLabel",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SecurityLabels"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-labels"
              }
            }
          },
          {
            "id": "Contract.agent",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Agent"
              }
            ],
            "path": "Contract.agent",
            "comment": "Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.\rFor example, in cases of actions initiated by one user for other users, or in events that involve more than one user, hardware device, software, or system process. However, only one user may be the initiator/requestor for the event.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Contract.agent.actor",
            "path": "Contract.agent.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ]
          },
          {
            "id": "Contract.agent.role",
            "path": "Contract.agent.role",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractActorRole"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the contract actor role.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-actorrole"
              }
            }
          },
          {
            "id": "Contract.signer",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Signatory"
              }
            ],
            "path": "Contract.signer",
            "comment": "Signers who are principal parties to the contract are bound by the Contract.activity related to the Contract.topic, and the Contract.term(s), which either extend or restrict the overall action on the topic by, for example, stipulating specific policies or obligations constraining actions, action reason, or agents with respect to some or all of the topic.\rFor example, specifying how policies or obligations shall constrain actions and action reasons permitted or denied on all or a subset of the Contract.topic (e.g., all or a portion of property being transferred by the contract), agents (e.g., who can resell, assign interests, or alter the property being transferred by the contract), actions, and action reasons; or with respect to Contract.terms, stipulating, extending, or limiting the Contract.period of applicability or valuation of items under consideration.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Contract.signer.type",
            "path": "Contract.signer.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractSignerType"
                }
              ],
              "strength": "preferred",
              "description": "List of parties who may be signing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-signer-type"
              }
            }
          },
          {
            "id": "Contract.signer.party",
            "path": "Contract.signer.party",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "Contract.signer.signature",
            "path": "Contract.signer.signature",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "Signature"
              }
            ]
          },
          {
            "id": "Contract.valuedItem",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ValuedItem"
              }
            ],
            "path": "Contract.valuedItem",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.entity[x]",
            "path": "Contract.valuedItem.entity[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.identifier",
            "path": "Contract.valuedItem.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.effectiveTime",
            "path": "Contract.valuedItem.effectiveTime",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.quantity",
            "path": "Contract.valuedItem.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.unitPrice",
            "path": "Contract.valuedItem.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.factor",
            "path": "Contract.valuedItem.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.points",
            "path": "Contract.valuedItem.points",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Contract.valuedItem.net",
            "path": "Contract.valuedItem.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Contract.term",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Term"
              }
            ],
            "path": "Contract.term",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Contract.term.identifier",
            "path": "Contract.term.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.term.issued",
            "path": "Contract.term.issued",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.term.applies",
            "path": "Contract.term.applies",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.term.type",
            "path": "Contract.term.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractTermType"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the types of contract provisions.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-term-type"
              }
            }
          },
          {
            "id": "Contract.term.subType",
            "path": "Contract.term.subType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractTermSubType"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the subtypes of contract provisions.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-term-subtype"
              }
            }
          },
          {
            "id": "Contract.term.topic",
            "path": "Contract.term.topic",
            "comment": "The Contract.term.topic, as a Contract Resource subpart, is handled in the same manner as the Contract Resource as discussed above.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Contract.term.action",
            "path": "Contract.term.action",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractAction"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the contract action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-action"
              }
            }
          },
          {
            "id": "Contract.term.actionReason",
            "path": "Contract.term.actionReason",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractActionReason"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the contract action reason.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "Contract.term.securityLabel",
            "path": "Contract.term.securityLabel",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SecurityLabels"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-labels"
              }
            }
          },
          {
            "id": "Contract.term.agent",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TermAgent"
              }
            ],
            "path": "Contract.term.agent",
            "comment": "Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.\rFor example, in cases of actions initiated by one user for other users, or in events that involve more than one user, hardware device, software, or system process. However, only one user may be the initiator/requestor for the event.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Contract.term.agent.actor",
            "path": "Contract.term.agent.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ]
          },
          {
            "id": "Contract.term.agent.role",
            "path": "Contract.term.agent.role",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContractActorRole"
                }
              ],
              "strength": "example",
              "description": "Detailed codes for the contract actor role.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contract-actorrole"
              }
            }
          },
          {
            "id": "Contract.term.text",
            "path": "Contract.term.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TermValuedItem"
              }
            ],
            "path": "Contract.term.valuedItem",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.entity[x]",
            "path": "Contract.term.valuedItem.entity[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.identifier",
            "path": "Contract.term.valuedItem.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.effectiveTime",
            "path": "Contract.term.valuedItem.effectiveTime",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.quantity",
            "path": "Contract.term.valuedItem.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.unitPrice",
            "path": "Contract.term.valuedItem.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.factor",
            "path": "Contract.term.valuedItem.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.points",
            "path": "Contract.term.valuedItem.points",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Contract.term.valuedItem.net",
            "path": "Contract.term.valuedItem.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "Contract.term.group",
            "path": "Contract.term.group",
            "min": 0,
            "max": "*",
            "contentReference": "#Contract.term"
          },
          {
            "id": "Contract.binding[x]",
            "path": "Contract.binding[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              }
            ]
          },
          {
            "id": "Contract.friendly",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "FriendlyLanguage"
              }
            ],
            "path": "Contract.friendly",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Contract.friendly.content[x]",
            "path": "Contract.friendly.content[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              }
            ]
          },
          {
            "id": "Contract.legal",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "LegalLanguage"
              }
            ],
            "path": "Contract.legal",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Contract.legal.content[x]",
            "path": "Contract.legal.content[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Composition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              }
            ]
          },
          {
            "id": "Contract.rule",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ComputableLanguage"
              }
            ],
            "path": "Contract.rule",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Contract.rule.content[x]",
            "path": "Contract.rule.content[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Coverage",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Coverage",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Coverage",
      "name": "Coverage",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "Health care programs and insurers are significant payors of health service costs.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Coverage",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Coverage",
            "path": "Coverage",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Coverage.id",
            "path": "Coverage.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.meta",
            "path": "Coverage.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.implicitRules",
            "path": "Coverage.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Coverage.language",
            "path": "Coverage.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Coverage.text",
            "path": "Coverage.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Coverage.contained",
            "path": "Coverage.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Coverage.extension",
            "path": "Coverage.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Coverage.modifierExtension",
            "path": "Coverage.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Coverage.identifier",
            "path": "Coverage.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.status",
            "path": "Coverage.status",
            "comment": "This element is labeled as a modifier because the status contains the code entered-in-error that marks the coverage as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CoverageStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "Coverage.type",
            "path": "Coverage.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CoverageType"
                }
              ],
              "strength": "preferred",
              "description": "The type of insurance: public health, worker compensation; private accident, auto, private health, etc.) or a direct payment by an individual or organization.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/coverage-type"
              }
            }
          },
          {
            "id": "Coverage.policyHolder",
            "path": "Coverage.policyHolder",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.subscriber",
            "path": "Coverage.subscriber",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.subscriberId",
            "path": "Coverage.subscriberId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.beneficiary",
            "path": "Coverage.beneficiary",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.relationship",
            "path": "Coverage.relationship",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Relationship"
                }
              ],
              "strength": "example",
              "description": "The relationship between the Policyholder and the Beneficiary (insured/covered party/patient).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/policyholder-relationship"
              }
            }
          },
          {
            "id": "Coverage.period",
            "path": "Coverage.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.payor",
            "path": "Coverage.payor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Group"
              }
            ],
            "path": "Coverage.grouping",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Coverage.grouping.id",
            "path": "Coverage.grouping.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Coverage.grouping.extension",
            "path": "Coverage.grouping.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Coverage.grouping.modifierExtension",
            "path": "Coverage.grouping.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.group",
            "path": "Coverage.grouping.group",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.groupDisplay",
            "path": "Coverage.grouping.groupDisplay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.subGroup",
            "path": "Coverage.grouping.subGroup",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.subGroupDisplay",
            "path": "Coverage.grouping.subGroupDisplay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.plan",
            "path": "Coverage.grouping.plan",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.planDisplay",
            "path": "Coverage.grouping.planDisplay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.subPlan",
            "path": "Coverage.grouping.subPlan",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.subPlanDisplay",
            "path": "Coverage.grouping.subPlanDisplay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.class",
            "path": "Coverage.grouping.class",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.classDisplay",
            "path": "Coverage.grouping.classDisplay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.subClass",
            "path": "Coverage.grouping.subClass",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.subClassDisplay",
            "path": "Coverage.grouping.subClassDisplay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.dependent",
            "path": "Coverage.dependent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.sequence",
            "path": "Coverage.sequence",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.order",
            "path": "Coverage.order",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.network",
            "path": "Coverage.network",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.contract",
            "path": "Coverage.contract",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Coverage",
            "path": "Coverage",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Coverage.identifier",
            "path": "Coverage.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.status",
            "path": "Coverage.status",
            "comment": "This element is labeled as a modifier because the status contains the code entered-in-error that marks the coverage as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CoverageStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "Coverage.type",
            "path": "Coverage.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CoverageType"
                }
              ],
              "strength": "preferred",
              "description": "The type of insurance: public health, worker compensation; private accident, auto, private health, etc.) or a direct payment by an individual or organization.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/coverage-type"
              }
            }
          },
          {
            "id": "Coverage.policyHolder",
            "path": "Coverage.policyHolder",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.subscriber",
            "path": "Coverage.subscriber",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.subscriberId",
            "path": "Coverage.subscriberId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.beneficiary",
            "path": "Coverage.beneficiary",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.relationship",
            "path": "Coverage.relationship",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Relationship"
                }
              ],
              "strength": "example",
              "description": "The relationship between the Policyholder and the Beneficiary (insured/covered party/patient).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/policyholder-relationship"
              }
            }
          },
          {
            "id": "Coverage.period",
            "path": "Coverage.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.payor",
            "path": "Coverage.payor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Group"
              }
            ],
            "path": "Coverage.grouping",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Coverage.grouping.group",
            "path": "Coverage.grouping.group",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.groupDisplay",
            "path": "Coverage.grouping.groupDisplay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.subGroup",
            "path": "Coverage.grouping.subGroup",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.subGroupDisplay",
            "path": "Coverage.grouping.subGroupDisplay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.plan",
            "path": "Coverage.grouping.plan",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.planDisplay",
            "path": "Coverage.grouping.planDisplay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.subPlan",
            "path": "Coverage.grouping.subPlan",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.subPlanDisplay",
            "path": "Coverage.grouping.subPlanDisplay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.class",
            "path": "Coverage.grouping.class",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.classDisplay",
            "path": "Coverage.grouping.classDisplay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.subClass",
            "path": "Coverage.grouping.subClass",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.grouping.subClassDisplay",
            "path": "Coverage.grouping.subClassDisplay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.dependent",
            "path": "Coverage.dependent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.sequence",
            "path": "Coverage.sequence",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.order",
            "path": "Coverage.order",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.network",
            "path": "Coverage.network",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Coverage.contract",
            "path": "Coverage.contract",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/DataElement",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "DataElement",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/DataElement",
      "name": "DataElement",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "DataElement",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "DataElement",
            "path": "DataElement",
            "comment": "Often called a clinical template.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "DataElement.id",
            "path": "DataElement.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.meta",
            "path": "DataElement.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.implicitRules",
            "path": "DataElement.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DataElement.language",
            "path": "DataElement.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "DataElement.text",
            "path": "DataElement.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "DataElement.contained",
            "path": "DataElement.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "DataElement.extension",
            "path": "DataElement.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DataElement.modifierExtension",
            "path": "DataElement.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "DataElement.url",
            "path": "DataElement.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.identifier",
            "path": "DataElement.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this data element outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.version",
            "path": "DataElement.version",
            "comment": "There may be different data element instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the data element with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.status",
            "path": "DataElement.status",
            "comment": "Allows filtering of data elements that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired data element without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "DataElement.experimental",
            "path": "DataElement.experimental",
            "comment": "Allows filtering of data element that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental data element in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DataElement.date",
            "path": "DataElement.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the data element. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.publisher",
            "path": "DataElement.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the data element is the organization or individual primarily responsible for the maintenance and upkeep of the data element. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the data element. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.name",
            "path": "DataElement.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.title",
            "path": "DataElement.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. This may be similar to the question used to prompt someone for a data element value, but the purpose is communicating about the data element, not asking the question.  (Refer to the 'question' element for the latter.).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.contact",
            "path": "DataElement.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.useContext",
            "path": "DataElement.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.jurisdiction",
            "path": "DataElement.jurisdiction",
            "comment": "It may be possible for the data element to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "DataElement.copyright",
            "path": "DataElement.copyright",
            "comment": "null The copyright statement does not apply to values for the data element, only to its definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "DataElement.stringency",
            "path": "DataElement.stringency",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DataElementStringency"
                }
              ],
              "strength": "required",
              "description": "Indicates the degree of precision of the data element definition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/dataelement-stringency"
              }
            }
          },
          {
            "id": "DataElement.mapping",
            "path": "DataElement.mapping",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "dae-3"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "dae-3",
                "severity": "error",
                "human": "At least one of  name or uri SHALL be present",
                "expression": "uri.exists() or name.exists()",
                "xpath": "exists(f:uri) or exists(f:name)"
              }
            ]
          },
          {
            "id": "DataElement.mapping.id",
            "path": "DataElement.mapping.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DataElement.mapping.extension",
            "path": "DataElement.mapping.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DataElement.mapping.modifierExtension",
            "path": "DataElement.mapping.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DataElement.mapping.identity",
            "path": "DataElement.mapping.identity",
            "comment": "The specification is described once, with general comments, and then specific mappings are made that reference this declaration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "DataElement.mapping.uri",
            "path": "DataElement.mapping.uri",
            "comment": "A formal identity for the specification being mapped to helps with identifying maps consistently.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "DataElement.mapping.name",
            "path": "DataElement.mapping.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DataElement.mapping.comment",
            "path": "DataElement.mapping.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DataElement.element",
            "path": "DataElement.element",
            "comment": "For simple data types there will only be one repetition.  For complex data types, multiple repetitions will be present defining a nested structure using the \"path\" element.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "ElementDefinition"
              }
            ],
            "constraint": [
              {
                "key": "dae-1",
                "severity": "error",
                "human": "No base allowed",
                "expression": "base.empty()",
                "xpath": "not(exists(f:base))"
              },
              {
                "key": "dae-2",
                "severity": "error",
                "human": "No slicing allowed",
                "expression": "slicing.empty()",
                "xpath": "not(exists(f:slicing))"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "DataElement",
            "path": "DataElement",
            "comment": "Often called a clinical template.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "DataElement.url",
            "path": "DataElement.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.identifier",
            "path": "DataElement.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this data element outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.version",
            "path": "DataElement.version",
            "comment": "There may be different data element instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the data element with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.status",
            "path": "DataElement.status",
            "comment": "Allows filtering of data elements that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired data element without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "DataElement.experimental",
            "path": "DataElement.experimental",
            "comment": "Allows filtering of data element that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental data element in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DataElement.date",
            "path": "DataElement.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the data element. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.publisher",
            "path": "DataElement.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the data element is the organization or individual primarily responsible for the maintenance and upkeep of the data element. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the data element. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.name",
            "path": "DataElement.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.title",
            "path": "DataElement.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. This may be similar to the question used to prompt someone for a data element value, but the purpose is communicating about the data element, not asking the question.  (Refer to the 'question' element for the latter.).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.contact",
            "path": "DataElement.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.useContext",
            "path": "DataElement.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DataElement.jurisdiction",
            "path": "DataElement.jurisdiction",
            "comment": "It may be possible for the data element to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "DataElement.copyright",
            "path": "DataElement.copyright",
            "comment": "null The copyright statement does not apply to values for the data element, only to its definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "DataElement.stringency",
            "path": "DataElement.stringency",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DataElementStringency"
                }
              ],
              "strength": "required",
              "description": "Indicates the degree of precision of the data element definition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/dataelement-stringency"
              }
            }
          },
          {
            "id": "DataElement.mapping",
            "path": "DataElement.mapping",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "dae-3"
            ],
            "constraint": [
              {
                "key": "dae-3",
                "severity": "error",
                "human": "At least one of  name or uri SHALL be present",
                "expression": "uri.exists() or name.exists()",
                "xpath": "exists(f:uri) or exists(f:name)"
              }
            ]
          },
          {
            "id": "DataElement.mapping.identity",
            "path": "DataElement.mapping.identity",
            "comment": "The specification is described once, with general comments, and then specific mappings are made that reference this declaration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "DataElement.mapping.uri",
            "path": "DataElement.mapping.uri",
            "comment": "A formal identity for the specification being mapped to helps with identifying maps consistently.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "DataElement.mapping.name",
            "path": "DataElement.mapping.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DataElement.mapping.comment",
            "path": "DataElement.mapping.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DataElement.element",
            "path": "DataElement.element",
            "comment": "For simple data types there will only be one repetition.  For complex data types, multiple repetitions will be present defining a nested structure using the \"path\" element.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "ElementDefinition"
              }
            ],
            "constraint": [
              {
                "key": "dae-1",
                "severity": "error",
                "human": "No base allowed",
                "expression": "base.empty()",
                "xpath": "not(exists(f:base))"
              },
              {
                "key": "dae-2",
                "severity": "error",
                "human": "No slicing allowed",
                "expression": "slicing.empty()",
                "xpath": "not(exists(f:slicing))"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/DetectedIssue",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "DetectedIssue",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "cds"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/DetectedIssue",
      "name": "DetectedIssue",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "DetectedIssue",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "DetectedIssue",
            "path": "DetectedIssue",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "DetectedIssue.id",
            "path": "DetectedIssue.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DetectedIssue.meta",
            "path": "DetectedIssue.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DetectedIssue.implicitRules",
            "path": "DetectedIssue.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DetectedIssue.language",
            "path": "DetectedIssue.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "DetectedIssue.text",
            "path": "DetectedIssue.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "DetectedIssue.contained",
            "path": "DetectedIssue.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "DetectedIssue.extension",
            "path": "DetectedIssue.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DetectedIssue.modifierExtension",
            "path": "DetectedIssue.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "DetectedIssue.identifier",
            "path": "DetectedIssue.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DetectedIssue.status",
            "path": "DetectedIssue.status",
            "comment": "This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the issue as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DetectedIssueStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates the status of the identified issue",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-status"
              }
            }
          },
          {
            "id": "DetectedIssue.category",
            "path": "DetectedIssue.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DetectedIssueCategory"
                }
              ],
              "strength": "preferred",
              "description": "Codes identifying the general type of detected issue; e.g. Drug-drug interaction, Timing issue, Duplicate therapy, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/detectedissue-category"
              }
            }
          },
          {
            "id": "DetectedIssue.severity",
            "path": "DetectedIssue.severity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DetectedIssueSeverity"
                }
              ],
              "strength": "required",
              "description": "Indicates the potential degree of impact of the identified issue on the patient.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/detectedissue-severity"
              }
            }
          },
          {
            "id": "DetectedIssue.patient",
            "path": "DetectedIssue.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DetectedIssue.date",
            "path": "DetectedIssue.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DetectedIssue.author",
            "path": "DetectedIssue.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DetectedIssue.implicated",
            "path": "DetectedIssue.implicated",
            "comment": "There's an implicit constraint on the number of implicated resources based on DetectedIssue.type; e.g. For drug-drug, there would be more than one.  For timing, there would typically only be one.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DetectedIssue.detail",
            "path": "DetectedIssue.detail",
            "comment": "Should focus on information not covered elsewhere as discrete data - no need to duplicate the narrative.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DetectedIssue.reference",
            "path": "DetectedIssue.reference",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "DetectedIssue.mitigation",
            "path": "DetectedIssue.mitigation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "DetectedIssue.mitigation.id",
            "path": "DetectedIssue.mitigation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DetectedIssue.mitigation.extension",
            "path": "DetectedIssue.mitigation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DetectedIssue.mitigation.modifierExtension",
            "path": "DetectedIssue.mitigation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DetectedIssue.mitigation.action",
            "path": "DetectedIssue.mitigation.action",
            "comment": "The \"text\" component can be used for detail or when no appropriate code exists.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DetectedIssueMitigationAction"
                }
              ],
              "strength": "preferred",
              "description": "Codes describing steps taken to resolve the issue or other circumstances that mitigate the risk associated with the issue; e.g. 'added concurrent therapy', 'prior therapy documented', etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/detectedissue-mitigation-action"
              }
            }
          },
          {
            "id": "DetectedIssue.mitigation.date",
            "path": "DetectedIssue.mitigation.date",
            "comment": "This may not be the same as when the mitigating step was actually taken.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "DetectedIssue.mitigation.author",
            "path": "DetectedIssue.mitigation.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "DetectedIssue",
            "path": "DetectedIssue",
            "min": 0,
            "max": "*"
          },
          {
            "id": "DetectedIssue.identifier",
            "path": "DetectedIssue.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DetectedIssue.status",
            "path": "DetectedIssue.status",
            "comment": "This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the issue as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DetectedIssueStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates the status of the identified issue",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-status"
              }
            }
          },
          {
            "id": "DetectedIssue.category",
            "path": "DetectedIssue.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DetectedIssueCategory"
                }
              ],
              "strength": "preferred",
              "description": "Codes identifying the general type of detected issue; e.g. Drug-drug interaction, Timing issue, Duplicate therapy, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/detectedissue-category"
              }
            }
          },
          {
            "id": "DetectedIssue.severity",
            "path": "DetectedIssue.severity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DetectedIssueSeverity"
                }
              ],
              "strength": "required",
              "description": "Indicates the potential degree of impact of the identified issue on the patient.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/detectedissue-severity"
              }
            }
          },
          {
            "id": "DetectedIssue.patient",
            "path": "DetectedIssue.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DetectedIssue.date",
            "path": "DetectedIssue.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DetectedIssue.author",
            "path": "DetectedIssue.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DetectedIssue.implicated",
            "path": "DetectedIssue.implicated",
            "comment": "There's an implicit constraint on the number of implicated resources based on DetectedIssue.type; e.g. For drug-drug, there would be more than one.  For timing, there would typically only be one.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DetectedIssue.detail",
            "path": "DetectedIssue.detail",
            "comment": "Should focus on information not covered elsewhere as discrete data - no need to duplicate the narrative.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DetectedIssue.reference",
            "path": "DetectedIssue.reference",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "DetectedIssue.mitigation",
            "path": "DetectedIssue.mitigation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "DetectedIssue.mitigation.action",
            "path": "DetectedIssue.mitigation.action",
            "comment": "The \"text\" component can be used for detail or when no appropriate code exists.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DetectedIssueMitigationAction"
                }
              ],
              "strength": "preferred",
              "description": "Codes describing steps taken to resolve the issue or other circumstances that mitigate the risk associated with the issue; e.g. 'added concurrent therapy', 'prior therapy documented', etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/detectedissue-mitigation-action"
              }
            }
          },
          {
            "id": "DetectedIssue.mitigation.date",
            "path": "DetectedIssue.mitigation.date",
            "comment": "This may not be the same as when the mitigating step was actually taken.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "DetectedIssue.mitigation.author",
            "path": "DetectedIssue.mitigation.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Device",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Device",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Device",
      "name": "Device",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "Allows institutions to track their devices.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Device",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Device",
            "path": "Device",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Device.id",
            "path": "Device.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Device.meta",
            "path": "Device.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Device.implicitRules",
            "path": "Device.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Device.language",
            "path": "Device.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Device.text",
            "path": "Device.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Device.contained",
            "path": "Device.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Device.extension",
            "path": "Device.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Device.modifierExtension",
            "path": "Device.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Device.identifier",
            "path": "Device.identifier",
            "comment": "The barcode string from a barcode present on a device label or package may identify the instance, include names given to the device in local usage, or may identify the type of device. If the identifier identifies the type of device, Device.type element should be used.  For [UDI](device.html#5.11.3.2.2),  this element corresponds to the variable portion of the UDI that identifies the serial number of a specific device. See [UDI mappings](device-mappings.html#udi) for a complete mapping of UDI parts to Device.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Device.udi",
            "path": "Device.udi",
            "comment": "UDI may identify an unique instance of a device, or it may only identify the type of the device.  See [UDI mappings](device-mappings.html#udi) for a complete mapping of UDI parts to Device.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Device.udi.id",
            "path": "Device.udi.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Device.udi.extension",
            "path": "Device.udi.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Device.udi.modifierExtension",
            "path": "Device.udi.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Device.udi.deviceIdentifier",
            "path": "Device.udi.deviceIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Device.udi.name",
            "path": "Device.udi.name",
            "comment": "Use the `Device.type`  for a generic type or kind of device name.  Note the [GUDID](http://www.fda.gov/medicaldevices/deviceregulationandguidance/uniquedeviceidentification/globaludidatabasegudid/default.htm) lists the name as the 'Brand Name'.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Device.udi.jurisdiction",
            "path": "Device.udi.jurisdiction",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "Device.udi.carrierHRF",
            "path": "Device.udi.carrierHRF",
            "comment": "If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Device.udi.carrierAIDC",
            "path": "Device.udi.carrierAIDC",
            "comment": "The AIDC form of UDIs should be scanned or otherwise used for the identification of the device whenever possible to minimize errors in records resulting from manual transcriptions. If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Device.udi.issuer",
            "path": "Device.udi.issuer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "Device.udi.entryType",
            "path": "Device.udi.entryType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "UDIEntryType"
                }
              ],
              "strength": "required",
              "description": "Codes to identify how UDI data was entered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/udi-entry-type"
              }
            }
          },
          {
            "id": "Device.status",
            "path": "Device.status",
            "comment": "This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the device (record)as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FHIRDeviceStatus"
                }
              ],
              "strength": "required",
              "description": "The availability status of the device.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-status"
              }
            }
          },
          {
            "id": "Device.type",
            "path": "Device.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceKind"
                }
              ],
              "strength": "example",
              "description": "Codes to identify medical devices",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-kind"
              }
            }
          },
          {
            "id": "Device.lotNumber",
            "path": "Device.lotNumber",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Device.manufacturer",
            "path": "Device.manufacturer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Device.manufactureDate",
            "path": "Device.manufactureDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Device.expirationDate",
            "path": "Device.expirationDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Device.model",
            "path": "Device.model",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Device.version",
            "path": "Device.version",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Device.patient",
            "path": "Device.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "Device.owner",
            "path": "Device.owner",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Device.contact",
            "path": "Device.contact",
            "comment": "used for troubleshooting etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ]
          },
          {
            "id": "Device.location",
            "path": "Device.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Device.url",
            "path": "Device.url",
            "comment": "If the device is running a FHIR server, the network address should  be the Base URL from which a conformance statement may be retrieved.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "Device.note",
            "path": "Device.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "Device.safety",
            "path": "Device.safety",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceSafety"
                }
              ],
              "strength": "example",
              "description": "Codes used to identify medical devices safety characterics. These codes are derived in part from the [United States Food and Drug Administration recommendations](http://www.fda.gov/downloads/medicaldevices/deviceregulationandguidance/guidancedocuments/ucm107708.pdf) and are provided here as a suggestive example.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-safety"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Device",
            "path": "Device",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Device.identifier",
            "path": "Device.identifier",
            "comment": "The barcode string from a barcode present on a device label or package may identify the instance, include names given to the device in local usage, or may identify the type of device. If the identifier identifies the type of device, Device.type element should be used.  For [UDI](device.html#5.11.3.2.2),  this element corresponds to the variable portion of the UDI that identifies the serial number of a specific device. See [UDI mappings](device-mappings.html#udi) for a complete mapping of UDI parts to Device.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Device.udi",
            "path": "Device.udi",
            "comment": "UDI may identify an unique instance of a device, or it may only identify the type of the device.  See [UDI mappings](device-mappings.html#udi) for a complete mapping of UDI parts to Device.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Device.udi.deviceIdentifier",
            "path": "Device.udi.deviceIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Device.udi.name",
            "path": "Device.udi.name",
            "comment": "Use the `Device.type`  for a generic type or kind of device name.  Note the [GUDID](http://www.fda.gov/medicaldevices/deviceregulationandguidance/uniquedeviceidentification/globaludidatabasegudid/default.htm) lists the name as the 'Brand Name'.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Device.udi.jurisdiction",
            "path": "Device.udi.jurisdiction",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "Device.udi.carrierHRF",
            "path": "Device.udi.carrierHRF",
            "comment": "If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Device.udi.carrierAIDC",
            "path": "Device.udi.carrierAIDC",
            "comment": "The AIDC form of UDIs should be scanned or otherwise used for the identification of the device whenever possible to minimize errors in records resulting from manual transcriptions. If separate barcodes for DI and PI are present, concatenate the string with DI first and in order of human readable expression on label.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Device.udi.issuer",
            "path": "Device.udi.issuer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "Device.udi.entryType",
            "path": "Device.udi.entryType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "UDIEntryType"
                }
              ],
              "strength": "required",
              "description": "Codes to identify how UDI data was entered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/udi-entry-type"
              }
            }
          },
          {
            "id": "Device.status",
            "path": "Device.status",
            "comment": "This element is labeled as a modifier because the status contains the codes inactive and entered-in-error that mark the device (record)as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FHIRDeviceStatus"
                }
              ],
              "strength": "required",
              "description": "The availability status of the device.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-status"
              }
            }
          },
          {
            "id": "Device.type",
            "path": "Device.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceKind"
                }
              ],
              "strength": "example",
              "description": "Codes to identify medical devices",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-kind"
              }
            }
          },
          {
            "id": "Device.lotNumber",
            "path": "Device.lotNumber",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Device.manufacturer",
            "path": "Device.manufacturer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Device.manufactureDate",
            "path": "Device.manufactureDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Device.expirationDate",
            "path": "Device.expirationDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Device.model",
            "path": "Device.model",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Device.version",
            "path": "Device.version",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Device.patient",
            "path": "Device.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "Device.owner",
            "path": "Device.owner",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Device.contact",
            "path": "Device.contact",
            "comment": "used for troubleshooting etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ]
          },
          {
            "id": "Device.location",
            "path": "Device.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Device.url",
            "path": "Device.url",
            "comment": "If the device is running a FHIR server, the network address should  be the Base URL from which a conformance statement may be retrieved.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "Device.note",
            "path": "Device.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "Device.safety",
            "path": "Device.safety",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceSafety"
                }
              ],
              "strength": "example",
              "description": "Codes used to identify medical devices safety characterics. These codes are derived in part from the [United States Food and Drug Administration recommendations](http://www.fda.gov/downloads/medicaldevices/deviceregulationandguidance/guidancedocuments/ucm107708.pdf) and are provided here as a suggestive example.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-safety"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/DeviceComponent",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "DeviceComponent",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "dev"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/DeviceComponent",
      "name": "DeviceComponent",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "DeviceComponent",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "DeviceComponent",
            "path": "DeviceComponent",
            "comment": "For the initial scope, this DeviceComponent resource is only applicable to describe a single node in the containment tree that is produced by the context scanner in any medical device that implements or derives from the ISO/IEEE 11073 standard and that does not represent a metric. Examples for such a node are MDS, VMD, or Channel.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "DeviceComponent.id",
            "path": "DeviceComponent.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.meta",
            "path": "DeviceComponent.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.implicitRules",
            "path": "DeviceComponent.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DeviceComponent.language",
            "path": "DeviceComponent.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "DeviceComponent.text",
            "path": "DeviceComponent.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "DeviceComponent.contained",
            "path": "DeviceComponent.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "DeviceComponent.extension",
            "path": "DeviceComponent.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DeviceComponent.modifierExtension",
            "path": "DeviceComponent.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "DeviceComponent.identifier",
            "path": "DeviceComponent.identifier",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.type",
            "path": "DeviceComponent.type",
            "comment": "DeviceComponent.type can be referred to either GDMN (nomenclature system supported by FDA Global UDI Database) or preferable RTMMS coding system.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ComponentType"
                }
              ],
              "strength": "preferred",
              "description": "Describes the type of the component.",
              "valueSetUri": "http://hl7.org/fhir/ValueSet/device-kind"
            }
          },
          {
            "id": "DeviceComponent.lastSystemChange",
            "path": "DeviceComponent.lastSystemChange",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.source",
            "path": "DeviceComponent.source",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.parent",
            "path": "DeviceComponent.parent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceComponent"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.operationalStatus",
            "path": "DeviceComponent.operationalStatus",
            "comment": "OperationalStatus for the MDS, VMD, or Channel will be bound to a specific ValueSet that is defined in its profile.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceComponentOperationalStatus"
                }
              ],
              "strength": "extensible",
              "description": "Codes representing the current status of the device - on, off, suspended, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/operational-status"
              }
            }
          },
          {
            "id": "DeviceComponent.parameterGroup",
            "path": "DeviceComponent.parameterGroup",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceComponentParameterGroup"
                }
              ],
              "strength": "extensible",
              "description": "Codes identifying groupings of parameters; e.g. Cardiovascular.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/parameter-group"
              }
            }
          },
          {
            "id": "DeviceComponent.measurementPrinciple",
            "path": "DeviceComponent.measurementPrinciple",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasmntPrinciple"
                }
              ],
              "strength": "required",
              "description": "Different measurement principle supported by the device.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measurement-principle"
              }
            }
          },
          {
            "id": "DeviceComponent.productionSpecification",
            "path": "DeviceComponent.productionSpecification",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.productionSpecification.id",
            "path": "DeviceComponent.productionSpecification.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DeviceComponent.productionSpecification.extension",
            "path": "DeviceComponent.productionSpecification.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DeviceComponent.productionSpecification.modifierExtension",
            "path": "DeviceComponent.productionSpecification.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DeviceComponent.productionSpecification.specType",
            "path": "DeviceComponent.productionSpecification.specType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceSpecificationSpecType"
                }
              ],
              "strength": "extensible",
              "description": "Codes for device specification types such as serial number, part number, hardware revision, software revision, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/specification-type"
              }
            }
          },
          {
            "id": "DeviceComponent.productionSpecification.componentId",
            "path": "DeviceComponent.productionSpecification.componentId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.productionSpecification.productionSpec",
            "path": "DeviceComponent.productionSpecification.productionSpec",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.languageCode",
            "path": "DeviceComponent.languageCode",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "DeviceComponent",
            "path": "DeviceComponent",
            "comment": "For the initial scope, this DeviceComponent resource is only applicable to describe a single node in the containment tree that is produced by the context scanner in any medical device that implements or derives from the ISO/IEEE 11073 standard and that does not represent a metric. Examples for such a node are MDS, VMD, or Channel.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "DeviceComponent.identifier",
            "path": "DeviceComponent.identifier",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.type",
            "path": "DeviceComponent.type",
            "comment": "DeviceComponent.type can be referred to either GDMN (nomenclature system supported by FDA Global UDI Database) or preferable RTMMS coding system.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ComponentType"
                }
              ],
              "strength": "preferred",
              "description": "Describes the type of the component.",
              "valueSetUri": "http://hl7.org/fhir/ValueSet/device-kind"
            }
          },
          {
            "id": "DeviceComponent.lastSystemChange",
            "path": "DeviceComponent.lastSystemChange",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.source",
            "path": "DeviceComponent.source",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.parent",
            "path": "DeviceComponent.parent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceComponent"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.operationalStatus",
            "path": "DeviceComponent.operationalStatus",
            "comment": "OperationalStatus for the MDS, VMD, or Channel will be bound to a specific ValueSet that is defined in its profile.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceComponentOperationalStatus"
                }
              ],
              "strength": "extensible",
              "description": "Codes representing the current status of the device - on, off, suspended, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/operational-status"
              }
            }
          },
          {
            "id": "DeviceComponent.parameterGroup",
            "path": "DeviceComponent.parameterGroup",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceComponentParameterGroup"
                }
              ],
              "strength": "extensible",
              "description": "Codes identifying groupings of parameters; e.g. Cardiovascular.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/parameter-group"
              }
            }
          },
          {
            "id": "DeviceComponent.measurementPrinciple",
            "path": "DeviceComponent.measurementPrinciple",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasmntPrinciple"
                }
              ],
              "strength": "required",
              "description": "Different measurement principle supported by the device.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measurement-principle"
              }
            }
          },
          {
            "id": "DeviceComponent.productionSpecification",
            "path": "DeviceComponent.productionSpecification",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.productionSpecification.specType",
            "path": "DeviceComponent.productionSpecification.specType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceSpecificationSpecType"
                }
              ],
              "strength": "extensible",
              "description": "Codes for device specification types such as serial number, part number, hardware revision, software revision, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/specification-type"
              }
            }
          },
          {
            "id": "DeviceComponent.productionSpecification.componentId",
            "path": "DeviceComponent.productionSpecification.componentId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.productionSpecification.productionSpec",
            "path": "DeviceComponent.productionSpecification.productionSpec",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceComponent.languageCode",
            "path": "DeviceComponent.languageCode",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/DeviceMetric",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "DeviceMetric",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "dev"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/DeviceMetric",
      "name": "DeviceMetric",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "DeviceMetric",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "DeviceMetric",
            "path": "DeviceMetric",
            "comment": "For the initial scope, this DeviceMetric resource is only applicable to describe a single metric node in the containment tree that is produced by the context scanner in any medical device that implements or derives from the ISO/IEEE 11073 standard.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "DeviceMetric.id",
            "path": "DeviceMetric.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceMetric.meta",
            "path": "DeviceMetric.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceMetric.implicitRules",
            "path": "DeviceMetric.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DeviceMetric.language",
            "path": "DeviceMetric.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "DeviceMetric.text",
            "path": "DeviceMetric.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "DeviceMetric.contained",
            "path": "DeviceMetric.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "DeviceMetric.extension",
            "path": "DeviceMetric.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DeviceMetric.modifierExtension",
            "path": "DeviceMetric.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "DeviceMetric.identifier",
            "path": "DeviceMetric.identifier",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceMetric.type",
            "path": "DeviceMetric.type",
            "comment": "DeviceMetric.type can be referred to either IEEE 11073-10101 or LOINC.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MetricType"
                }
              ],
              "strength": "preferred",
              "description": "Describes the metric type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/devicemetric-type"
              }
            }
          },
          {
            "id": "DeviceMetric.unit",
            "path": "DeviceMetric.unit",
            "comment": "DeviceMetric.unit can refer to either UCUM or preferable a RTMMS coding system.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MetricUnit"
                }
              ],
              "strength": "preferred",
              "description": "Describes the unit of the metric.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/devicemetric-type"
              }
            }
          },
          {
            "id": "DeviceMetric.source",
            "path": "DeviceMetric.source",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceMetric.parent",
            "path": "DeviceMetric.parent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceComponent"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceMetric.operationalStatus",
            "path": "DeviceMetric.operationalStatus",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceMetricOperationalStatus"
                }
              ],
              "strength": "required",
              "description": "Describes the operational status of the DeviceMetric.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/metric-operational-status"
              }
            }
          },
          {
            "id": "DeviceMetric.color",
            "path": "DeviceMetric.color",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceMetricColor"
                }
              ],
              "strength": "required",
              "description": "Describes the typical color of representation.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/metric-color"
              }
            }
          },
          {
            "id": "DeviceMetric.category",
            "path": "DeviceMetric.category",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceMetricCategory"
                }
              ],
              "strength": "required",
              "description": "Describes the category of the metric.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/metric-category"
              }
            }
          },
          {
            "id": "DeviceMetric.measurementPeriod",
            "path": "DeviceMetric.measurementPeriod",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Timing"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceMetric.calibration",
            "path": "DeviceMetric.calibration",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceMetric.calibration.id",
            "path": "DeviceMetric.calibration.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DeviceMetric.calibration.extension",
            "path": "DeviceMetric.calibration.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DeviceMetric.calibration.modifierExtension",
            "path": "DeviceMetric.calibration.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DeviceMetric.calibration.type",
            "path": "DeviceMetric.calibration.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceMetricCalibrationType"
                }
              ],
              "strength": "required",
              "description": "Describes the type of a metric calibration.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/metric-calibration-type"
              }
            }
          },
          {
            "id": "DeviceMetric.calibration.state",
            "path": "DeviceMetric.calibration.state",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceMetricCalibrationState"
                }
              ],
              "strength": "required",
              "description": "Describes the state of a metric calibration.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/metric-calibration-state"
              }
            }
          },
          {
            "id": "DeviceMetric.calibration.time",
            "path": "DeviceMetric.calibration.time",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "DeviceMetric",
            "path": "DeviceMetric",
            "comment": "For the initial scope, this DeviceMetric resource is only applicable to describe a single metric node in the containment tree that is produced by the context scanner in any medical device that implements or derives from the ISO/IEEE 11073 standard.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "DeviceMetric.identifier",
            "path": "DeviceMetric.identifier",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceMetric.type",
            "path": "DeviceMetric.type",
            "comment": "DeviceMetric.type can be referred to either IEEE 11073-10101 or LOINC.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MetricType"
                }
              ],
              "strength": "preferred",
              "description": "Describes the metric type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/devicemetric-type"
              }
            }
          },
          {
            "id": "DeviceMetric.unit",
            "path": "DeviceMetric.unit",
            "comment": "DeviceMetric.unit can refer to either UCUM or preferable a RTMMS coding system.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MetricUnit"
                }
              ],
              "strength": "preferred",
              "description": "Describes the unit of the metric.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/devicemetric-type"
              }
            }
          },
          {
            "id": "DeviceMetric.source",
            "path": "DeviceMetric.source",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceMetric.parent",
            "path": "DeviceMetric.parent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceComponent"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceMetric.operationalStatus",
            "path": "DeviceMetric.operationalStatus",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceMetricOperationalStatus"
                }
              ],
              "strength": "required",
              "description": "Describes the operational status of the DeviceMetric.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/metric-operational-status"
              }
            }
          },
          {
            "id": "DeviceMetric.color",
            "path": "DeviceMetric.color",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceMetricColor"
                }
              ],
              "strength": "required",
              "description": "Describes the typical color of representation.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/metric-color"
              }
            }
          },
          {
            "id": "DeviceMetric.category",
            "path": "DeviceMetric.category",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceMetricCategory"
                }
              ],
              "strength": "required",
              "description": "Describes the category of the metric.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/metric-category"
              }
            }
          },
          {
            "id": "DeviceMetric.measurementPeriod",
            "path": "DeviceMetric.measurementPeriod",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Timing"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceMetric.calibration",
            "path": "DeviceMetric.calibration",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceMetric.calibration.type",
            "path": "DeviceMetric.calibration.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceMetricCalibrationType"
                }
              ],
              "strength": "required",
              "description": "Describes the type of a metric calibration.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/metric-calibration-type"
              }
            }
          },
          {
            "id": "DeviceMetric.calibration.state",
            "path": "DeviceMetric.calibration.state",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceMetricCalibrationState"
                }
              ],
              "strength": "required",
              "description": "Describes the state of a metric calibration.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/metric-calibration-state"
              }
            }
          },
          {
            "id": "DeviceMetric.calibration.time",
            "path": "DeviceMetric.calibration.time",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/DeviceRequest",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "DeviceRequest",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/DeviceRequest",
      "name": "DeviceRequest",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "DeviceRequest",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "DeviceRequest",
            "path": "DeviceRequest",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "DeviceRequest.id",
            "path": "DeviceRequest.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.meta",
            "path": "DeviceRequest.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.implicitRules",
            "path": "DeviceRequest.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DeviceRequest.language",
            "path": "DeviceRequest.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "DeviceRequest.text",
            "path": "DeviceRequest.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "DeviceRequest.contained",
            "path": "DeviceRequest.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "DeviceRequest.extension",
            "path": "DeviceRequest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DeviceRequest.modifierExtension",
            "path": "DeviceRequest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "DeviceRequest.identifier",
            "path": "DeviceRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.definition",
            "path": "DeviceRequest.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.basedOn",
            "path": "DeviceRequest.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.priorRequest",
            "path": "DeviceRequest.priorRequest",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.groupIdentifier",
            "path": "DeviceRequest.groupIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.status",
            "path": "DeviceRequest.status",
            "comment": "This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the request as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceRequestStatus"
                }
              ],
              "strength": "required",
              "description": "Codes representing the status of the request.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-status"
              }
            }
          },
          {
            "id": "DeviceRequest.intent",
            "path": "DeviceRequest.intent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestIntent"
                }
              ],
              "strength": "required",
              "description": "The kind of diagnostic request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-intent"
              }
            }
          },
          {
            "id": "DeviceRequest.priority",
            "path": "DeviceRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "defaultValueCode": "If missing, normal priority",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestPriority"
                }
              ],
              "strength": "required",
              "description": "Identifies the level of importance to be assigned to actioning the request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "DeviceRequest.code[x]",
            "path": "DeviceRequest.code[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceRequestCode"
                }
              ],
              "strength": "example",
              "description": "Codes for devices that can be requested",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-kind"
              }
            }
          },
          {
            "id": "DeviceRequest.subject",
            "path": "DeviceRequest.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.context",
            "path": "DeviceRequest.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.occurrence[x]",
            "path": "DeviceRequest.occurrence[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Timing"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.authoredOn",
            "path": "DeviceRequest.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.requester",
            "path": "DeviceRequest.requester",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.requester.id",
            "path": "DeviceRequest.requester.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DeviceRequest.requester.extension",
            "path": "DeviceRequest.requester.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DeviceRequest.requester.modifierExtension",
            "path": "DeviceRequest.requester.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DeviceRequest.requester.agent",
            "path": "DeviceRequest.requester.agent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.requester.onBehalfOf",
            "path": "DeviceRequest.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.performerType",
            "path": "DeviceRequest.performerType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceRequestParticipantRole"
                }
              ],
              "strength": "example",
              "description": "Indicates specific responsibility of an individual within the care team, such as \"Primary physician\", \"Team coordinator\", \"Caregiver\", etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/participant-role"
              }
            }
          },
          {
            "id": "DeviceRequest.performer",
            "path": "DeviceRequest.performer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.reasonCode",
            "path": "DeviceRequest.reasonCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceRequestReason"
                }
              ],
              "strength": "example",
              "description": "Diagnosis or problem codes justifying the reason for requesting the device.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "DeviceRequest.reasonReference",
            "path": "DeviceRequest.reasonReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.supportingInfo",
            "path": "DeviceRequest.supportingInfo",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "DeviceRequest.note",
            "path": "DeviceRequest.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "DeviceRequest.relevantHistory",
            "path": "DeviceRequest.relevantHistory",
            "comment": "This may not include provenances for all versions of the request – only those deemed “relevant” or important.\rThis SHALL NOT include the Provenance associated with this current version of the resource.  (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update.  Until then, it can be queried directly as the Provenance that points to this version using _revinclude\rAll Provenances should have some historical version of this Request as their subject.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "DeviceRequest",
            "path": "DeviceRequest",
            "min": 0,
            "max": "*"
          },
          {
            "id": "DeviceRequest.identifier",
            "path": "DeviceRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.definition",
            "path": "DeviceRequest.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.basedOn",
            "path": "DeviceRequest.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.priorRequest",
            "path": "DeviceRequest.priorRequest",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.groupIdentifier",
            "path": "DeviceRequest.groupIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.status",
            "path": "DeviceRequest.status",
            "comment": "This element is labeled as a modifier because the status contains the codes cancelled and entered-in-error that mark the request as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceRequestStatus"
                }
              ],
              "strength": "required",
              "description": "Codes representing the status of the request.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-status"
              }
            }
          },
          {
            "id": "DeviceRequest.intent",
            "path": "DeviceRequest.intent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestIntent"
                }
              ],
              "strength": "required",
              "description": "The kind of diagnostic request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-intent"
              }
            }
          },
          {
            "id": "DeviceRequest.priority",
            "path": "DeviceRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "defaultValueCode": "If missing, normal priority",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestPriority"
                }
              ],
              "strength": "required",
              "description": "Identifies the level of importance to be assigned to actioning the request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "DeviceRequest.code[x]",
            "path": "DeviceRequest.code[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceRequestCode"
                }
              ],
              "strength": "example",
              "description": "Codes for devices that can be requested",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-kind"
              }
            }
          },
          {
            "id": "DeviceRequest.subject",
            "path": "DeviceRequest.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.context",
            "path": "DeviceRequest.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.occurrence[x]",
            "path": "DeviceRequest.occurrence[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Timing"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.authoredOn",
            "path": "DeviceRequest.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.requester",
            "path": "DeviceRequest.requester",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.requester.agent",
            "path": "DeviceRequest.requester.agent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.requester.onBehalfOf",
            "path": "DeviceRequest.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.performerType",
            "path": "DeviceRequest.performerType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceRequestParticipantRole"
                }
              ],
              "strength": "example",
              "description": "Indicates specific responsibility of an individual within the care team, such as \"Primary physician\", \"Team coordinator\", \"Caregiver\", etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/participant-role"
              }
            }
          },
          {
            "id": "DeviceRequest.performer",
            "path": "DeviceRequest.performer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.reasonCode",
            "path": "DeviceRequest.reasonCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceRequestReason"
                }
              ],
              "strength": "example",
              "description": "Diagnosis or problem codes justifying the reason for requesting the device.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "DeviceRequest.reasonReference",
            "path": "DeviceRequest.reasonReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceRequest.supportingInfo",
            "path": "DeviceRequest.supportingInfo",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "DeviceRequest.note",
            "path": "DeviceRequest.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "DeviceRequest.relevantHistory",
            "path": "DeviceRequest.relevantHistory",
            "comment": "This may not include provenances for all versions of the request – only those deemed “relevant” or important.\rThis SHALL NOT include the Provenance associated with this current version of the resource.  (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update.  Until then, it can be queried directly as the Provenance that points to this version using _revinclude\rAll Provenances should have some historical version of this Request as their subject.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/DeviceUseStatement",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "DeviceUseStatement",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/DeviceUseStatement",
      "name": "DeviceUseStatement",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "DeviceUseStatement",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "DeviceUseStatement",
            "path": "DeviceUseStatement",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.id",
            "path": "DeviceUseStatement.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceUseStatement.meta",
            "path": "DeviceUseStatement.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DeviceUseStatement.implicitRules",
            "path": "DeviceUseStatement.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DeviceUseStatement.language",
            "path": "DeviceUseStatement.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "DeviceUseStatement.text",
            "path": "DeviceUseStatement.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "DeviceUseStatement.contained",
            "path": "DeviceUseStatement.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.extension",
            "path": "DeviceUseStatement.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.modifierExtension",
            "path": "DeviceUseStatement.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "DeviceUseStatement.identifier",
            "path": "DeviceUseStatement.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.status",
            "path": "DeviceUseStatement.status",
            "comment": "DeviceUseStatment is a statement at a point in time.  The status is only representative at the point when it was asserted.  The value set for contains codes that assert the status of the use  by the patient (for example, stopped or on hold) as well as codes that assert the status of the resource itself (for example, entered in error).\n\nThis element is labeled as a modifier because the status contains the codes that mark the statement as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceUseStatementStatus"
                }
              ],
              "strength": "required",
              "description": "A coded concept indicating the current status of a the Device Usage",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-statement-status"
              }
            }
          },
          {
            "id": "DeviceUseStatement.subject",
            "path": "DeviceUseStatement.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.whenUsed",
            "path": "DeviceUseStatement.whenUsed",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.timing[x]",
            "path": "DeviceUseStatement.timing[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Timing"
              },
              {
                "code": "Period"
              },
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.recordedOn",
            "path": "DeviceUseStatement.recordedOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.source",
            "path": "DeviceUseStatement.source",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.device",
            "path": "DeviceUseStatement.device",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.indication",
            "path": "DeviceUseStatement.indication",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.bodySite",
            "path": "DeviceUseStatement.bodySite",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "DeviceUseStatement.note",
            "path": "DeviceUseStatement.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "DeviceUseStatement",
            "path": "DeviceUseStatement",
            "min": 0,
            "max": "*"
          },
          {
            "id": "DeviceUseStatement.identifier",
            "path": "DeviceUseStatement.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.status",
            "path": "DeviceUseStatement.status",
            "comment": "DeviceUseStatment is a statement at a point in time.  The status is only representative at the point when it was asserted.  The value set for contains codes that assert the status of the use  by the patient (for example, stopped or on hold) as well as codes that assert the status of the resource itself (for example, entered in error).\n\nThis element is labeled as a modifier because the status contains the codes that mark the statement as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceUseStatementStatus"
                }
              ],
              "strength": "required",
              "description": "A coded concept indicating the current status of a the Device Usage",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-statement-status"
              }
            }
          },
          {
            "id": "DeviceUseStatement.subject",
            "path": "DeviceUseStatement.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.whenUsed",
            "path": "DeviceUseStatement.whenUsed",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.timing[x]",
            "path": "DeviceUseStatement.timing[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Timing"
              },
              {
                "code": "Period"
              },
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.recordedOn",
            "path": "DeviceUseStatement.recordedOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.source",
            "path": "DeviceUseStatement.source",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.device",
            "path": "DeviceUseStatement.device",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.indication",
            "path": "DeviceUseStatement.indication",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ]
          },
          {
            "id": "DeviceUseStatement.bodySite",
            "path": "DeviceUseStatement.bodySite",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "DeviceUseStatement.note",
            "path": "DeviceUseStatement.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "DiagnosticReport",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport",
      "name": "DiagnosticReport",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "To support reporting for any diagnostic report into a clinical data repository.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "DiagnosticReport",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "DiagnosticReport",
            "path": "DiagnosticReport",
            "comment": "This is intended to capture a single report, and is not suitable for use in displaying summary information that covers multiple reports.  For example, this resource has not been designed for laboratory cumulative reporting formats nor detailed structured reports for sequencing.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "DiagnosticReport.id",
            "path": "DiagnosticReport.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.meta",
            "path": "DiagnosticReport.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.implicitRules",
            "path": "DiagnosticReport.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.language",
            "path": "DiagnosticReport.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "DiagnosticReport.text",
            "path": "DiagnosticReport.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "DiagnosticReport.contained",
            "path": "DiagnosticReport.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "DiagnosticReport.extension",
            "path": "DiagnosticReport.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DiagnosticReport.modifierExtension",
            "path": "DiagnosticReport.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "DiagnosticReport.identifier",
            "path": "DiagnosticReport.identifier",
            "comment": "Usually assigned by the Information System of the diagnostic service provider (filler id).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.basedOn",
            "path": "DiagnosticReport.basedOn",
            "comment": "Note: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single test result resource. Note that there are also cases where one request leads to multiple reports.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ]
          },
          {
            "id": "DiagnosticReport.status",
            "path": "DiagnosticReport.status",
            "comment": "This is labeled as \"Is Modifier\" because applications need to take appropriate action if a report is withdrawn.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosticReportStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the diagnostic report as a whole.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/diagnostic-report-status"
              }
            }
          },
          {
            "id": "DiagnosticReport.category",
            "path": "DiagnosticReport.category",
            "comment": "The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in DiagnosticReport.code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosticServiceSection"
                }
              ],
              "strength": "example",
              "description": "Codes for diagnostic service sections.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/diagnostic-service-sections"
              }
            }
          },
          {
            "id": "DiagnosticReport.code",
            "path": "DiagnosticReport.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosticReportCodes"
                }
              ],
              "strength": "preferred",
              "description": "Codes that describe Diagnostic Reports.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/report-codes"
              }
            }
          },
          {
            "id": "DiagnosticReport.subject",
            "path": "DiagnosticReport.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.context",
            "path": "DiagnosticReport.context",
            "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.effective[x]",
            "path": "DiagnosticReport.effective[x]",
            "comment": "If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.issued",
            "path": "DiagnosticReport.issued",
            "comment": "May be different from the update time of the resource itself, because that is the status of the record (potentially a secondary copy), not the actual release time of the report.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.performer",
            "path": "DiagnosticReport.performer",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.performer.id",
            "path": "DiagnosticReport.performer.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DiagnosticReport.performer.extension",
            "path": "DiagnosticReport.performer.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DiagnosticReport.performer.modifierExtension",
            "path": "DiagnosticReport.performer.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.performer.role",
            "path": "DiagnosticReport.performer.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Role"
                }
              ],
              "strength": "example",
              "description": "Indicate a role of diagnostic report performer",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/performer-role"
              }
            }
          },
          {
            "id": "DiagnosticReport.performer.actor",
            "path": "DiagnosticReport.performer.actor",
            "comment": "This is not necessarily the source of the atomic data items. It is the entity that takes responsibility for the clinical report.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.specimen",
            "path": "DiagnosticReport.specimen",
            "comment": "If the specimen is sufficiently specified with a code in the test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per observation or group.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
              }
            ]
          },
          {
            "id": "DiagnosticReport.result",
            "path": "DiagnosticReport.result",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ]
          },
          {
            "id": "DiagnosticReport.imagingStudy",
            "path": "DiagnosticReport.imagingStudy",
            "comment": "ImagingStudy and ImageManifest and the image element are somewhat overlapping - typically, the list of image references in the image element will also be found in one of the imaging study resources. However each caters to different types of displays for different types of purposes. Neither, either, or both may be provided.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingStudy"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingManifest"
              }
            ]
          },
          {
            "id": "DiagnosticReport.image",
            "path": "DiagnosticReport.image",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.image.id",
            "path": "DiagnosticReport.image.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DiagnosticReport.image.extension",
            "path": "DiagnosticReport.image.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DiagnosticReport.image.modifierExtension",
            "path": "DiagnosticReport.image.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.image.comment",
            "path": "DiagnosticReport.image.comment",
            "comment": "The comment should be displayed with the image. It would be common for the report to include additional discussion of the image contents in other sections such as the conclusion.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DiagnosticReport.image.link",
            "path": "DiagnosticReport.image.link",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Media"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.conclusion",
            "path": "DiagnosticReport.conclusion",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DiagnosticReport.codedDiagnosis",
            "path": "DiagnosticReport.codedDiagnosis",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdjunctDiagnosis"
                }
              ],
              "strength": "example",
              "description": "Diagnosis codes provided as adjuncts to the report.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "DiagnosticReport.presentedForm",
            "path": "DiagnosticReport.presentedForm",
            "comment": "\"application/pdf\" is recommended as the most reliable and interoperable in this context.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "DiagnosticReport",
            "path": "DiagnosticReport",
            "comment": "This is intended to capture a single report, and is not suitable for use in displaying summary information that covers multiple reports.  For example, this resource has not been designed for laboratory cumulative reporting formats nor detailed structured reports for sequencing.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "DiagnosticReport.identifier",
            "path": "DiagnosticReport.identifier",
            "comment": "Usually assigned by the Information System of the diagnostic service provider (filler id).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.basedOn",
            "path": "DiagnosticReport.basedOn",
            "comment": "Note: Usually there is one test request for each result, however in some circumstances multiple test requests may be represented using a single test result resource. Note that there are also cases where one request leads to multiple reports.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ]
          },
          {
            "id": "DiagnosticReport.status",
            "path": "DiagnosticReport.status",
            "comment": "This is labeled as \"Is Modifier\" because applications need to take appropriate action if a report is withdrawn.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosticReportStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the diagnostic report as a whole.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/diagnostic-report-status"
              }
            }
          },
          {
            "id": "DiagnosticReport.category",
            "path": "DiagnosticReport.category",
            "comment": "The level of granularity is defined by the category concepts in the value set. More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in DiagnosticReport.code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosticServiceSection"
                }
              ],
              "strength": "example",
              "description": "Codes for diagnostic service sections.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/diagnostic-service-sections"
              }
            }
          },
          {
            "id": "DiagnosticReport.code",
            "path": "DiagnosticReport.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosticReportCodes"
                }
              ],
              "strength": "preferred",
              "description": "Codes that describe Diagnostic Reports.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/report-codes"
              }
            }
          },
          {
            "id": "DiagnosticReport.subject",
            "path": "DiagnosticReport.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.context",
            "path": "DiagnosticReport.context",
            "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.effective[x]",
            "path": "DiagnosticReport.effective[x]",
            "comment": "If the diagnostic procedure was performed on the patient, this is the time it was performed. If there are specimens, the diagnostically relevant time can be derived from the specimen collection times, but the specimen information is not always available, and the exact relationship between the specimens and the diagnostically relevant time is not always automatic.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.issued",
            "path": "DiagnosticReport.issued",
            "comment": "May be different from the update time of the resource itself, because that is the status of the record (potentially a secondary copy), not the actual release time of the report.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.performer",
            "path": "DiagnosticReport.performer",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.performer.role",
            "path": "DiagnosticReport.performer.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Role"
                }
              ],
              "strength": "example",
              "description": "Indicate a role of diagnostic report performer",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/performer-role"
              }
            }
          },
          {
            "id": "DiagnosticReport.performer.actor",
            "path": "DiagnosticReport.performer.actor",
            "comment": "This is not necessarily the source of the atomic data items. It is the entity that takes responsibility for the clinical report.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.specimen",
            "path": "DiagnosticReport.specimen",
            "comment": "If the specimen is sufficiently specified with a code in the test result name, then this additional data may be redundant. If there are multiple specimens, these may be represented per observation or group.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
              }
            ]
          },
          {
            "id": "DiagnosticReport.result",
            "path": "DiagnosticReport.result",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ]
          },
          {
            "id": "DiagnosticReport.imagingStudy",
            "path": "DiagnosticReport.imagingStudy",
            "comment": "ImagingStudy and ImageManifest and the image element are somewhat overlapping - typically, the list of image references in the image element will also be found in one of the imaging study resources. However each caters to different types of displays for different types of purposes. Neither, either, or both may be provided.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingStudy"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingManifest"
              }
            ]
          },
          {
            "id": "DiagnosticReport.image",
            "path": "DiagnosticReport.image",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.image.comment",
            "path": "DiagnosticReport.image.comment",
            "comment": "The comment should be displayed with the image. It would be common for the report to include additional discussion of the image contents in other sections such as the conclusion.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DiagnosticReport.image.link",
            "path": "DiagnosticReport.image.link",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Media"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DiagnosticReport.conclusion",
            "path": "DiagnosticReport.conclusion",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DiagnosticReport.codedDiagnosis",
            "path": "DiagnosticReport.codedDiagnosis",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdjunctDiagnosis"
                }
              ],
              "strength": "example",
              "description": "Diagnosis codes provided as adjuncts to the report.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "DiagnosticReport.presentedForm",
            "path": "DiagnosticReport.presentedForm",
            "comment": "\"application/pdf\" is recommended as the most reliable and interoperable in this context.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/DocumentManifest",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "DocumentManifest",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "sd"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/DocumentManifest",
      "name": "DocumentManifest",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "DocumentManifest",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "DocumentManifest",
            "path": "DocumentManifest",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "DocumentManifest.id",
            "path": "DocumentManifest.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.meta",
            "path": "DocumentManifest.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.implicitRules",
            "path": "DocumentManifest.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DocumentManifest.language",
            "path": "DocumentManifest.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "DocumentManifest.text",
            "path": "DocumentManifest.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "DocumentManifest.contained",
            "path": "DocumentManifest.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "DocumentManifest.extension",
            "path": "DocumentManifest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DocumentManifest.modifierExtension",
            "path": "DocumentManifest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "DocumentManifest.masterIdentifier",
            "path": "DocumentManifest.masterIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.identifier",
            "path": "DocumentManifest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.status",
            "path": "DocumentManifest.status",
            "comment": "This element is labeled as a modifier because the status contains the codes that mark the manifest as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentReferenceStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The status of the document reference.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/document-reference-status"
              }
            }
          },
          {
            "id": "DocumentManifest.type",
            "path": "DocumentManifest.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentC80Type"
                }
              ],
              "strength": "preferred",
              "description": "Precise type of clinical document.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-doc-typecodes"
              }
            }
          },
          {
            "id": "DocumentManifest.subject",
            "path": "DocumentManifest.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.created",
            "path": "DocumentManifest.created",
            "comment": "Creation time is used for tracking, organizing versions and searching. This is the creation time of the document set, not the documents on which it is based.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.author",
            "path": "DocumentManifest.author",
            "comment": "Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.recipient",
            "path": "DocumentManifest.recipient",
            "comment": "How the recipient receives the document set or is notified of it is up to the implementation. This element is just a statement of intent. If the recipient is a person, and it is not known whether the person is a patient or a practitioner, RelatedPerson would be the default choice.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.source",
            "path": "DocumentManifest.source",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.description",
            "path": "DocumentManifest.description",
            "comment": "What the document is about, rather than a terse summary of the document. It is commonly the case that records do not have a title and are collectively referred to by the display name of Record code (e.g. a \"consultation\" or \"progress note\").",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.content",
            "path": "DocumentManifest.content",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.content.id",
            "path": "DocumentManifest.content.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DocumentManifest.content.extension",
            "path": "DocumentManifest.content.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DocumentManifest.content.modifierExtension",
            "path": "DocumentManifest.content.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DocumentManifest.content.p[x]",
            "path": "DocumentManifest.content.p[x]",
            "comment": "The intended focus of the DocumentManifest is for the reference to target either DocumentReference or Media Resources, and most implementation guides will restrict to these resources. The reference is to \"Any\" to support EN 13606 usage, where an extract is DocumentManifest that references  List and Composition resources.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.related",
            "path": "DocumentManifest.related",
            "comment": "May be identifiers or resources that caused the DocumentManifest to be created.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.related.id",
            "path": "DocumentManifest.related.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DocumentManifest.related.extension",
            "path": "DocumentManifest.related.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DocumentManifest.related.modifierExtension",
            "path": "DocumentManifest.related.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DocumentManifest.related.identifier",
            "path": "DocumentManifest.related.identifier",
            "comment": "If both identifier and ref elements are present they shall refer to the same thing.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.related.ref",
            "path": "DocumentManifest.related.ref",
            "comment": "If both identifier and ref elements are present they shall refer to the same thing.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "DocumentManifest",
            "path": "DocumentManifest",
            "min": 0,
            "max": "*"
          },
          {
            "id": "DocumentManifest.masterIdentifier",
            "path": "DocumentManifest.masterIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.identifier",
            "path": "DocumentManifest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.status",
            "path": "DocumentManifest.status",
            "comment": "This element is labeled as a modifier because the status contains the codes that mark the manifest as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentReferenceStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The status of the document reference.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/document-reference-status"
              }
            }
          },
          {
            "id": "DocumentManifest.type",
            "path": "DocumentManifest.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentC80Type"
                }
              ],
              "strength": "preferred",
              "description": "Precise type of clinical document.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-doc-typecodes"
              }
            }
          },
          {
            "id": "DocumentManifest.subject",
            "path": "DocumentManifest.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.created",
            "path": "DocumentManifest.created",
            "comment": "Creation time is used for tracking, organizing versions and searching. This is the creation time of the document set, not the documents on which it is based.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.author",
            "path": "DocumentManifest.author",
            "comment": "Not necessarily who did the actual data entry (i.e. typist) or who was the source (informant).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.recipient",
            "path": "DocumentManifest.recipient",
            "comment": "How the recipient receives the document set or is notified of it is up to the implementation. This element is just a statement of intent. If the recipient is a person, and it is not known whether the person is a patient or a practitioner, RelatedPerson would be the default choice.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.source",
            "path": "DocumentManifest.source",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.description",
            "path": "DocumentManifest.description",
            "comment": "What the document is about, rather than a terse summary of the document. It is commonly the case that records do not have a title and are collectively referred to by the display name of Record code (e.g. a \"consultation\" or \"progress note\").",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.content",
            "path": "DocumentManifest.content",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.content.p[x]",
            "path": "DocumentManifest.content.p[x]",
            "comment": "The intended focus of the DocumentManifest is for the reference to target either DocumentReference or Media Resources, and most implementation guides will restrict to these resources. The reference is to \"Any\" to support EN 13606 usage, where an extract is DocumentManifest that references  List and Composition resources.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.related",
            "path": "DocumentManifest.related",
            "comment": "May be identifiers or resources that caused the DocumentManifest to be created.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.related.identifier",
            "path": "DocumentManifest.related.identifier",
            "comment": "If both identifier and ref elements are present they shall refer to the same thing.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentManifest.related.ref",
            "path": "DocumentManifest.related.ref",
            "comment": "If both identifier and ref elements are present they shall refer to the same thing.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/DocumentReference",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "DocumentReference",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "sd"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/DocumentReference",
      "name": "DocumentReference",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "DocumentReference",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "DocumentReference",
            "path": "DocumentReference",
            "comment": "Usually, this is used for documents other than those defined by FHIR.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "DocumentReference.id",
            "path": "DocumentReference.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.meta",
            "path": "DocumentReference.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.implicitRules",
            "path": "DocumentReference.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DocumentReference.language",
            "path": "DocumentReference.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "DocumentReference.text",
            "path": "DocumentReference.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "DocumentReference.contained",
            "path": "DocumentReference.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "DocumentReference.extension",
            "path": "DocumentReference.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DocumentReference.modifierExtension",
            "path": "DocumentReference.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "DocumentReference.masterIdentifier",
            "path": "DocumentReference.masterIdentifier",
            "comment": "CDA Document Id extension and root.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.identifier",
            "path": "DocumentReference.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.status",
            "path": "DocumentReference.status",
            "comment": "This is the status of the DocumentReference object, which might be independent from the docStatus element.\n\nThis element is labeled as a modifier because the status contains the codes that mark the document or reference as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentReferenceStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The status of the document reference.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/document-reference-status"
              }
            }
          },
          {
            "id": "DocumentReference.docStatus",
            "path": "DocumentReference.docStatus",
            "comment": "The document that is pointed to might be in various lifecycle states.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferredDocumentStatus"
                }
              ],
              "strength": "required",
              "description": "Status of the underlying document.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/composition-status"
              }
            }
          },
          {
            "id": "DocumentReference.type",
            "path": "DocumentReference.type",
            "comment": "Key metadata element describing the document, used in searching/filtering.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentC80Type"
                }
              ],
              "strength": "preferred",
              "description": "Precise type of clinical document.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-doc-typecodes"
              }
            }
          },
          {
            "id": "DocumentReference.class",
            "path": "DocumentReference.class",
            "comment": "This is a metadata field from [XDS/MHD](http://wiki.ihe.net/index.php?title=Mobile_access_to_Health_Documents_(MHD)).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentC80Class"
                }
              ],
              "strength": "example",
              "description": "High-level kind of a clinical document at a macro level.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-doc-classcodes"
              }
            }
          },
          {
            "id": "DocumentReference.subject",
            "path": "DocumentReference.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.created",
            "path": "DocumentReference.created",
            "comment": "Creation time is used for tracking, organizing versions and searching. This is the creation time of the document, not the source material on which it is based.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.indexed",
            "path": "DocumentReference.indexed",
            "comment": "Referencing/indexing time is used for tracking, organizing versions and searching.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.author",
            "path": "DocumentReference.author",
            "comment": "Not necessarily who did the actual data entry (i.e. typist) it in or who was the source (informant).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.authenticator",
            "path": "DocumentReference.authenticator",
            "comment": "Represents a participant within the author institution who has legally authenticated or attested the document. Legal authentication implies that a document has been signed manually or electronically by the legal Authenticator.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.custodian",
            "path": "DocumentReference.custodian",
            "comment": "Identifies the logical organization to go to find the current version, where to report issues, etc. This is different from the physical location of the document, which is the technical location of the document, which host may be delegated to the management of some other organization.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.relatesTo",
            "path": "DocumentReference.relatesTo",
            "comment": "This element is labeled as a modifier because documents that append to other documents are incomplete on their own.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DocumentReference.relatesTo.id",
            "path": "DocumentReference.relatesTo.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DocumentReference.relatesTo.extension",
            "path": "DocumentReference.relatesTo.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DocumentReference.relatesTo.modifierExtension",
            "path": "DocumentReference.relatesTo.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DocumentReference.relatesTo.code",
            "path": "DocumentReference.relatesTo.code",
            "comment": "If this document appends another document, then the document cannot be fully understood without also accessing the referenced document.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentRelationshipType"
                }
              ],
              "strength": "required",
              "description": "The type of relationship between documents.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/document-relationship-type"
              }
            }
          },
          {
            "id": "DocumentReference.relatesTo.target",
            "path": "DocumentReference.relatesTo.target",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.description",
            "path": "DocumentReference.description",
            "comment": "What the document is about, rather than a terse summary of the document. It is commonly the case that records do not have a title and are collectively referred to by the display name of Record code (e.g. a \"consultation\" or \"progress note\").",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.securityLabel",
            "path": "DocumentReference.securityLabel",
            "comment": "The confidentiality codes can carry multiple vocabulary items. HL7 has developed an understanding of security and privacy tags that might be desirable in a Document Sharing environment, called HL7 Healthcare Privacy and Security Classification System (HCS). The following specification is recommended but not mandated, as the vocabulary bindings are an administrative domain responsibility. The use of this method is up to the policy domain such as the XDS Affinity Domain or other Trust Domain where all parties including sender and recipients are trusted to appropriately tag and enforce.   In the HL7 Healthcare Privacy and Security Classification (HCS) there are code systems specific to Confidentiality, Sensitivity, Integrity, and Handling Caveats. Some values would come from a local vocabulary as they are related to workflow roles and special projects.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SecurityLabels"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-labels"
              }
            }
          },
          {
            "id": "DocumentReference.content",
            "path": "DocumentReference.content",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.content.id",
            "path": "DocumentReference.content.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DocumentReference.content.extension",
            "path": "DocumentReference.content.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DocumentReference.content.modifierExtension",
            "path": "DocumentReference.content.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DocumentReference.content.attachment",
            "path": "DocumentReference.content.attachment",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.content.format",
            "path": "DocumentReference.content.format",
            "comment": "Note that while IHE mostly issues URNs for format types, not all documents can be identified by a URI.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentFormat"
                }
              ],
              "strength": "preferred",
              "description": "Document Format Codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/formatcodes"
              }
            }
          },
          {
            "id": "DocumentReference.context",
            "path": "DocumentReference.context",
            "comment": "These values are primarily added to help with searching for interesting/relevant documents.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.id",
            "path": "DocumentReference.context.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DocumentReference.context.extension",
            "path": "DocumentReference.context.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DocumentReference.context.modifierExtension",
            "path": "DocumentReference.context.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.encounter",
            "path": "DocumentReference.context.encounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.event",
            "path": "DocumentReference.context.event",
            "comment": "An event can further specialize the act inherent in the type, such as  where it is simply \"Procedure Report\" and the procedure was a \"colonoscopy\". If one or more event codes are included, they shall not conflict with the values inherent in the class or type elements as such a conflict would create an ambiguous situation.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentEventType"
                }
              ],
              "strength": "example",
              "description": "This list of codes represents the main clinical acts being documented.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActCode"
              }
            }
          },
          {
            "id": "DocumentReference.context.period",
            "path": "DocumentReference.context.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.facilityType",
            "path": "DocumentReference.context.facilityType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentC80FacilityType"
                }
              ],
              "strength": "example",
              "description": "XDS Facility Type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-facilitycodes"
              }
            }
          },
          {
            "id": "DocumentReference.context.practiceSetting",
            "path": "DocumentReference.context.practiceSetting",
            "comment": "The value set for this content has an example binding because it is a value set decided by community policy. Other examples exist for consideration: * HITSP created the table HITSP/C80 Table 2-148 Clinical Specialty Value Set (a value set based upon SNOMED CT which is referenced by Direct (XDR and XDM for Direct Messaging Specification, Version 1), as well as Nationwide Health Information Network (NHIN).  Query for Documents, Web Service Interface Specification, V 3.0, 07/27/2011 * ELGA (Austria) (ELGA CDA Implementie-rungsleitfäden Registrierung von CDA Dokumenten für ELGA mit IHE Cross-Enterprise Document Sharing: XDS Metadaten (XDSDocumentEntry), [1.2.40.0.34.7.6.3] * XDS Connect-a-thon practiceSettingCode.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentC80PracticeSetting"
                }
              ],
              "strength": "example",
              "description": "Additional details about where the content was created (e.g. clinical specialty).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "DocumentReference.context.sourcePatientInfo",
            "path": "DocumentReference.context.sourcePatientInfo",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.related",
            "path": "DocumentReference.context.related",
            "comment": "May be identifiers or resources that caused the DocumentReference or referenced Document to be created.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.related.id",
            "path": "DocumentReference.context.related.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "DocumentReference.context.related.extension",
            "path": "DocumentReference.context.related.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DocumentReference.context.related.modifierExtension",
            "path": "DocumentReference.context.related.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.related.identifier",
            "path": "DocumentReference.context.related.identifier",
            "comment": "Order numbers, accession numbers, XDW workflow numbers.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.related.ref",
            "path": "DocumentReference.context.related.ref",
            "comment": "Order, ProcedureRequest,  Procedure, EligibilityRequest, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "DocumentReference",
            "path": "DocumentReference",
            "comment": "Usually, this is used for documents other than those defined by FHIR.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "DocumentReference.masterIdentifier",
            "path": "DocumentReference.masterIdentifier",
            "comment": "CDA Document Id extension and root.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.identifier",
            "path": "DocumentReference.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.status",
            "path": "DocumentReference.status",
            "comment": "This is the status of the DocumentReference object, which might be independent from the docStatus element.\n\nThis element is labeled as a modifier because the status contains the codes that mark the document or reference as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentReferenceStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The status of the document reference.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/document-reference-status"
              }
            }
          },
          {
            "id": "DocumentReference.docStatus",
            "path": "DocumentReference.docStatus",
            "comment": "The document that is pointed to might be in various lifecycle states.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferredDocumentStatus"
                }
              ],
              "strength": "required",
              "description": "Status of the underlying document.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/composition-status"
              }
            }
          },
          {
            "id": "DocumentReference.type",
            "path": "DocumentReference.type",
            "comment": "Key metadata element describing the document, used in searching/filtering.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentC80Type"
                }
              ],
              "strength": "preferred",
              "description": "Precise type of clinical document.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-doc-typecodes"
              }
            }
          },
          {
            "id": "DocumentReference.class",
            "path": "DocumentReference.class",
            "comment": "This is a metadata field from [XDS/MHD](http://wiki.ihe.net/index.php?title=Mobile_access_to_Health_Documents_(MHD)).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentC80Class"
                }
              ],
              "strength": "example",
              "description": "High-level kind of a clinical document at a macro level.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-doc-classcodes"
              }
            }
          },
          {
            "id": "DocumentReference.subject",
            "path": "DocumentReference.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.created",
            "path": "DocumentReference.created",
            "comment": "Creation time is used for tracking, organizing versions and searching. This is the creation time of the document, not the source material on which it is based.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.indexed",
            "path": "DocumentReference.indexed",
            "comment": "Referencing/indexing time is used for tracking, organizing versions and searching.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.author",
            "path": "DocumentReference.author",
            "comment": "Not necessarily who did the actual data entry (i.e. typist) it in or who was the source (informant).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.authenticator",
            "path": "DocumentReference.authenticator",
            "comment": "Represents a participant within the author institution who has legally authenticated or attested the document. Legal authentication implies that a document has been signed manually or electronically by the legal Authenticator.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.custodian",
            "path": "DocumentReference.custodian",
            "comment": "Identifies the logical organization to go to find the current version, where to report issues, etc. This is different from the physical location of the document, which is the technical location of the document, which host may be delegated to the management of some other organization.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.relatesTo",
            "path": "DocumentReference.relatesTo",
            "comment": "This element is labeled as a modifier because documents that append to other documents are incomplete on their own.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DocumentReference.relatesTo.code",
            "path": "DocumentReference.relatesTo.code",
            "comment": "If this document appends another document, then the document cannot be fully understood without also accessing the referenced document.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentRelationshipType"
                }
              ],
              "strength": "required",
              "description": "The type of relationship between documents.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/document-relationship-type"
              }
            }
          },
          {
            "id": "DocumentReference.relatesTo.target",
            "path": "DocumentReference.relatesTo.target",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DocumentReference"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.description",
            "path": "DocumentReference.description",
            "comment": "What the document is about, rather than a terse summary of the document. It is commonly the case that records do not have a title and are collectively referred to by the display name of Record code (e.g. a \"consultation\" or \"progress note\").",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.securityLabel",
            "path": "DocumentReference.securityLabel",
            "comment": "The confidentiality codes can carry multiple vocabulary items. HL7 has developed an understanding of security and privacy tags that might be desirable in a Document Sharing environment, called HL7 Healthcare Privacy and Security Classification System (HCS). The following specification is recommended but not mandated, as the vocabulary bindings are an administrative domain responsibility. The use of this method is up to the policy domain such as the XDS Affinity Domain or other Trust Domain where all parties including sender and recipients are trusted to appropriately tag and enforce.   In the HL7 Healthcare Privacy and Security Classification (HCS) there are code systems specific to Confidentiality, Sensitivity, Integrity, and Handling Caveats. Some values would come from a local vocabulary as they are related to workflow roles and special projects.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SecurityLabels"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Security Labels from the Healthcare Privacy and Security Classification System.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-labels"
              }
            }
          },
          {
            "id": "DocumentReference.content",
            "path": "DocumentReference.content",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.content.attachment",
            "path": "DocumentReference.content.attachment",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.content.format",
            "path": "DocumentReference.content.format",
            "comment": "Note that while IHE mostly issues URNs for format types, not all documents can be identified by a URI.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentFormat"
                }
              ],
              "strength": "preferred",
              "description": "Document Format Codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/formatcodes"
              }
            }
          },
          {
            "id": "DocumentReference.context",
            "path": "DocumentReference.context",
            "comment": "These values are primarily added to help with searching for interesting/relevant documents.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.encounter",
            "path": "DocumentReference.context.encounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.event",
            "path": "DocumentReference.context.event",
            "comment": "An event can further specialize the act inherent in the type, such as  where it is simply \"Procedure Report\" and the procedure was a \"colonoscopy\". If one or more event codes are included, they shall not conflict with the values inherent in the class or type elements as such a conflict would create an ambiguous situation.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentEventType"
                }
              ],
              "strength": "example",
              "description": "This list of codes represents the main clinical acts being documented.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActCode"
              }
            }
          },
          {
            "id": "DocumentReference.context.period",
            "path": "DocumentReference.context.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.facilityType",
            "path": "DocumentReference.context.facilityType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentC80FacilityType"
                }
              ],
              "strength": "example",
              "description": "XDS Facility Type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-facilitycodes"
              }
            }
          },
          {
            "id": "DocumentReference.context.practiceSetting",
            "path": "DocumentReference.context.practiceSetting",
            "comment": "The value set for this content has an example binding because it is a value set decided by community policy. Other examples exist for consideration: * HITSP created the table HITSP/C80 Table 2-148 Clinical Specialty Value Set (a value set based upon SNOMED CT which is referenced by Direct (XDR and XDM for Direct Messaging Specification, Version 1), as well as Nationwide Health Information Network (NHIN).  Query for Documents, Web Service Interface Specification, V 3.0, 07/27/2011 * ELGA (Austria) (ELGA CDA Implementie-rungsleitfäden Registrierung von CDA Dokumenten für ELGA mit IHE Cross-Enterprise Document Sharing: XDS Metadaten (XDSDocumentEntry), [1.2.40.0.34.7.6.3] * XDS Connect-a-thon practiceSettingCode.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DocumentC80PracticeSetting"
                }
              ],
              "strength": "example",
              "description": "Additional details about where the content was created (e.g. clinical specialty).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "DocumentReference.context.sourcePatientInfo",
            "path": "DocumentReference.context.sourcePatientInfo",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.related",
            "path": "DocumentReference.context.related",
            "comment": "May be identifiers or resources that caused the DocumentReference or referenced Document to be created.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.related.identifier",
            "path": "DocumentReference.context.related.identifier",
            "comment": "Order numbers, accession numbers, XDW workflow numbers.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DocumentReference.context.related.ref",
            "path": "DocumentReference.context.related.ref",
            "comment": "Order, ProcedureRequest,  Procedure, EligibilityRequest, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/DomainResource",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "DomainResource",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 5
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "name": "DomainResource",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": true,
      "type": "DomainResource",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Resource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "DomainResource",
            "path": "DomainResource",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))"
              }
            ]
          },
          {
            "id": "DomainResource.id",
            "path": "DomainResource.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DomainResource.meta",
            "path": "DomainResource.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "DomainResource.implicitRules",
            "path": "DomainResource.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "DomainResource.language",
            "path": "DomainResource.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "DomainResource.text",
            "path": "DomainResource.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "DomainResource.contained",
            "path": "DomainResource.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "DomainResource.extension",
            "path": "DomainResource.extension",
            "slicing": {
              "discriminator": [
                {
                  "type": "value",
                  "path": "url"
                }
              ],
              "description": "Extensions are always sliced by (at least) url",
              "rules": "open"
            },
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DomainResource.modifierExtension",
            "path": "DomainResource.modifierExtension",
            "slicing": {
              "discriminator": [
                {
                  "type": "value",
                  "path": "url"
                }
              ],
              "description": "Extensions are always sliced by (at least) url",
              "rules": "open"
            },
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "DomainResource",
            "path": "DomainResource",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))"
              }
            ]
          },
          {
            "id": "DomainResource.text",
            "path": "DomainResource.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "DomainResource.contained",
            "path": "DomainResource.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "DomainResource.extension",
            "path": "DomainResource.extension",
            "slicing": {
              "discriminator": [
                {
                  "type": "value",
                  "path": "url"
                }
              ],
              "description": "Extensions are always sliced by (at least) url",
              "rules": "open"
            },
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "DomainResource.modifierExtension",
            "path": "DomainResource.modifierExtension",
            "slicing": {
              "discriminator": [
                {
                  "type": "value",
                  "path": "url"
                }
              ],
              "description": "Extensions are always sliced by (at least) url",
              "rules": "open"
            },
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/EligibilityRequest",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "EligibilityRequest",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/EligibilityRequest",
      "name": "EligibilityRequest",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "EligibilityRequest",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "EligibilityRequest",
            "path": "EligibilityRequest",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "EligibilityRequest.id",
            "path": "EligibilityRequest.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EligibilityRequest.meta",
            "path": "EligibilityRequest.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EligibilityRequest.implicitRules",
            "path": "EligibilityRequest.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "EligibilityRequest.language",
            "path": "EligibilityRequest.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "EligibilityRequest.text",
            "path": "EligibilityRequest.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "EligibilityRequest.contained",
            "path": "EligibilityRequest.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "EligibilityRequest.extension",
            "path": "EligibilityRequest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "EligibilityRequest.modifierExtension",
            "path": "EligibilityRequest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "EligibilityRequest.identifier",
            "path": "EligibilityRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "EligibilityRequest.status",
            "path": "EligibilityRequest.status",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EligibilityRequestStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "EligibilityRequest.priority",
            "path": "EligibilityRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcessPriority"
                }
              ],
              "strength": "example",
              "description": "The timeliness with which processing is required: STAT, normal, Deferred",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/process-priority"
              }
            }
          },
          {
            "id": "EligibilityRequest.patient",
            "path": "EligibilityRequest.patient",
            "comment": "1..1.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "EligibilityRequest.serviced[x]",
            "path": "EligibilityRequest.serviced[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "EligibilityRequest.created",
            "path": "EligibilityRequest.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "EligibilityRequest.enterer",
            "path": "EligibilityRequest.enterer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "EligibilityRequest.provider",
            "path": "EligibilityRequest.provider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "EligibilityRequest.organization",
            "path": "EligibilityRequest.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EligibilityRequest.insurer",
            "path": "EligibilityRequest.insurer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EligibilityRequest.facility",
            "path": "EligibilityRequest.facility",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "EligibilityRequest.coverage",
            "path": "EligibilityRequest.coverage",
            "comment": "1..1.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ]
          },
          {
            "id": "EligibilityRequest.businessArrangement",
            "path": "EligibilityRequest.businessArrangement",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EligibilityRequest.benefitCategory",
            "path": "EligibilityRequest.benefitCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit categories such as: oral, medical, vision etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-category"
              }
            }
          },
          {
            "id": "EligibilityRequest.benefitSubCategory",
            "path": "EligibilityRequest.benefitSubCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "EligibilityRequest",
            "path": "EligibilityRequest",
            "min": 0,
            "max": "*"
          },
          {
            "id": "EligibilityRequest.identifier",
            "path": "EligibilityRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "EligibilityRequest.status",
            "path": "EligibilityRequest.status",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EligibilityRequestStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "EligibilityRequest.priority",
            "path": "EligibilityRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcessPriority"
                }
              ],
              "strength": "example",
              "description": "The timeliness with which processing is required: STAT, normal, Deferred",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/process-priority"
              }
            }
          },
          {
            "id": "EligibilityRequest.patient",
            "path": "EligibilityRequest.patient",
            "comment": "1..1.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "EligibilityRequest.serviced[x]",
            "path": "EligibilityRequest.serviced[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "EligibilityRequest.created",
            "path": "EligibilityRequest.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "EligibilityRequest.enterer",
            "path": "EligibilityRequest.enterer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "EligibilityRequest.provider",
            "path": "EligibilityRequest.provider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "EligibilityRequest.organization",
            "path": "EligibilityRequest.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EligibilityRequest.insurer",
            "path": "EligibilityRequest.insurer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EligibilityRequest.facility",
            "path": "EligibilityRequest.facility",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "EligibilityRequest.coverage",
            "path": "EligibilityRequest.coverage",
            "comment": "1..1.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ]
          },
          {
            "id": "EligibilityRequest.businessArrangement",
            "path": "EligibilityRequest.businessArrangement",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EligibilityRequest.benefitCategory",
            "path": "EligibilityRequest.benefitCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit categories such as: oral, medical, vision etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-category"
              }
            }
          },
          {
            "id": "EligibilityRequest.benefitSubCategory",
            "path": "EligibilityRequest.benefitSubCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/EligibilityResponse",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "EligibilityResponse",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/EligibilityResponse",
      "name": "EligibilityResponse",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "EligibilityResponse",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "EligibilityResponse",
            "path": "EligibilityResponse",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "EligibilityResponse.id",
            "path": "EligibilityResponse.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EligibilityResponse.meta",
            "path": "EligibilityResponse.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EligibilityResponse.implicitRules",
            "path": "EligibilityResponse.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "EligibilityResponse.language",
            "path": "EligibilityResponse.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "EligibilityResponse.text",
            "path": "EligibilityResponse.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "EligibilityResponse.contained",
            "path": "EligibilityResponse.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "EligibilityResponse.extension",
            "path": "EligibilityResponse.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "EligibilityResponse.modifierExtension",
            "path": "EligibilityResponse.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "EligibilityResponse.identifier",
            "path": "EligibilityResponse.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "EligibilityResponse.status",
            "path": "EligibilityResponse.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the response as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EligibilityResponseStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "EligibilityResponse.created",
            "path": "EligibilityResponse.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "EligibilityResponse.requestProvider",
            "path": "EligibilityResponse.requestProvider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "EligibilityResponse.requestOrganization",
            "path": "EligibilityResponse.requestOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EligibilityResponse.request",
            "path": "EligibilityResponse.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EligibilityRequest"
              }
            ]
          },
          {
            "id": "EligibilityResponse.outcome",
            "path": "EligibilityResponse.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RemittanceOutcome"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The outcome of the processing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/remittance-outcome"
              }
            }
          },
          {
            "id": "EligibilityResponse.disposition",
            "path": "EligibilityResponse.disposition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurer",
            "path": "EligibilityResponse.insurer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EligibilityResponse.inforce",
            "path": "EligibilityResponse.inforce",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Insurance"
              }
            ],
            "path": "EligibilityResponse.insurance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.id",
            "path": "EligibilityResponse.insurance.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.extension",
            "path": "EligibilityResponse.insurance.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.modifierExtension",
            "path": "EligibilityResponse.insurance.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "EligibilityResponse.insurance.coverage",
            "path": "EligibilityResponse.insurance.coverage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.contract",
            "path": "EligibilityResponse.insurance.contract",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Benefits"
              }
            ],
            "path": "EligibilityResponse.insurance.benefitBalance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.id",
            "path": "EligibilityResponse.insurance.benefitBalance.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.extension",
            "path": "EligibilityResponse.insurance.benefitBalance.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.modifierExtension",
            "path": "EligibilityResponse.insurance.benefitBalance.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.category",
            "path": "EligibilityResponse.insurance.benefitBalance.category",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit categories such as: oral, medical, vision etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-category"
              }
            }
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.subCategory",
            "path": "EligibilityResponse.insurance.benefitBalance.subCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.excluded",
            "path": "EligibilityResponse.insurance.benefitBalance.excluded",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.name",
            "path": "EligibilityResponse.insurance.benefitBalance.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.description",
            "path": "EligibilityResponse.insurance.benefitBalance.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.network",
            "path": "EligibilityResponse.insurance.benefitBalance.network",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitNetwork"
                }
              ],
              "strength": "example",
              "description": "Code to classify in or out of network services",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-network"
              }
            }
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.unit",
            "path": "EligibilityResponse.insurance.benefitBalance.unit",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitUnit"
                }
              ],
              "strength": "example",
              "description": "Unit covered/serviced - individual or family",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-unit"
              }
            }
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.term",
            "path": "EligibilityResponse.insurance.benefitBalance.term",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitTerm"
                }
              ],
              "strength": "example",
              "description": "Coverage unit - annual, lifetime",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-term"
              }
            }
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.financial",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Benefit"
              }
            ],
            "path": "EligibilityResponse.insurance.benefitBalance.financial",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.financial.id",
            "path": "EligibilityResponse.insurance.benefitBalance.financial.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.financial.extension",
            "path": "EligibilityResponse.insurance.benefitBalance.financial.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.financial.modifierExtension",
            "path": "EligibilityResponse.insurance.benefitBalance.financial.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.financial.type",
            "path": "EligibilityResponse.insurance.benefitBalance.financial.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitType"
                }
              ],
              "strength": "example",
              "description": "Deductable, visits, co-pay, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-type"
              }
            }
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.financial.allowed[x]",
            "path": "EligibilityResponse.insurance.benefitBalance.financial.allowed[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              },
              {
                "code": "string"
              },
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.financial.used[x]",
            "path": "EligibilityResponse.insurance.benefitBalance.financial.used[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              },
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "EligibilityResponse.form",
            "path": "EligibilityResponse.form",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Forms"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The forms codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/forms"
              }
            }
          },
          {
            "id": "EligibilityResponse.error",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Errors"
              }
            ],
            "path": "EligibilityResponse.error",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "EligibilityResponse.error.id",
            "path": "EligibilityResponse.error.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EligibilityResponse.error.extension",
            "path": "EligibilityResponse.error.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "EligibilityResponse.error.modifierExtension",
            "path": "EligibilityResponse.error.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "EligibilityResponse.error.code",
            "path": "EligibilityResponse.error.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdjudicationError"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The error codes for adjudication processing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication-error"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "EligibilityResponse",
            "path": "EligibilityResponse",
            "min": 0,
            "max": "*"
          },
          {
            "id": "EligibilityResponse.identifier",
            "path": "EligibilityResponse.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "EligibilityResponse.status",
            "path": "EligibilityResponse.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the response as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EligibilityResponseStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "EligibilityResponse.created",
            "path": "EligibilityResponse.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "EligibilityResponse.requestProvider",
            "path": "EligibilityResponse.requestProvider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "EligibilityResponse.requestOrganization",
            "path": "EligibilityResponse.requestOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EligibilityResponse.request",
            "path": "EligibilityResponse.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EligibilityRequest"
              }
            ]
          },
          {
            "id": "EligibilityResponse.outcome",
            "path": "EligibilityResponse.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RemittanceOutcome"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The outcome of the processing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/remittance-outcome"
              }
            }
          },
          {
            "id": "EligibilityResponse.disposition",
            "path": "EligibilityResponse.disposition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurer",
            "path": "EligibilityResponse.insurer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EligibilityResponse.inforce",
            "path": "EligibilityResponse.inforce",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Insurance"
              }
            ],
            "path": "EligibilityResponse.insurance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.coverage",
            "path": "EligibilityResponse.insurance.coverage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.contract",
            "path": "EligibilityResponse.insurance.contract",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Benefits"
              }
            ],
            "path": "EligibilityResponse.insurance.benefitBalance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.category",
            "path": "EligibilityResponse.insurance.benefitBalance.category",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit categories such as: oral, medical, vision etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-category"
              }
            }
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.subCategory",
            "path": "EligibilityResponse.insurance.benefitBalance.subCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.excluded",
            "path": "EligibilityResponse.insurance.benefitBalance.excluded",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.name",
            "path": "EligibilityResponse.insurance.benefitBalance.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.description",
            "path": "EligibilityResponse.insurance.benefitBalance.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.network",
            "path": "EligibilityResponse.insurance.benefitBalance.network",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitNetwork"
                }
              ],
              "strength": "example",
              "description": "Code to classify in or out of network services",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-network"
              }
            }
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.unit",
            "path": "EligibilityResponse.insurance.benefitBalance.unit",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitUnit"
                }
              ],
              "strength": "example",
              "description": "Unit covered/serviced - individual or family",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-unit"
              }
            }
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.term",
            "path": "EligibilityResponse.insurance.benefitBalance.term",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitTerm"
                }
              ],
              "strength": "example",
              "description": "Coverage unit - annual, lifetime",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-term"
              }
            }
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.financial",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Benefit"
              }
            ],
            "path": "EligibilityResponse.insurance.benefitBalance.financial",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.financial.type",
            "path": "EligibilityResponse.insurance.benefitBalance.financial.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitType"
                }
              ],
              "strength": "example",
              "description": "Deductable, visits, co-pay, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-type"
              }
            }
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.financial.allowed[x]",
            "path": "EligibilityResponse.insurance.benefitBalance.financial.allowed[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              },
              {
                "code": "string"
              },
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "EligibilityResponse.insurance.benefitBalance.financial.used[x]",
            "path": "EligibilityResponse.insurance.benefitBalance.financial.used[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              },
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "EligibilityResponse.form",
            "path": "EligibilityResponse.form",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Forms"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The forms codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/forms"
              }
            }
          },
          {
            "id": "EligibilityResponse.error",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Errors"
              }
            ],
            "path": "EligibilityResponse.error",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "EligibilityResponse.error.code",
            "path": "EligibilityResponse.error.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdjudicationError"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The error codes for adjudication processing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication-error"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Encounter",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Encounter",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Encounter",
      "name": "Encounter",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Encounter",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Encounter",
            "path": "Encounter",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Encounter.id",
            "path": "Encounter.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.meta",
            "path": "Encounter.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.implicitRules",
            "path": "Encounter.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Encounter.language",
            "path": "Encounter.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Encounter.text",
            "path": "Encounter.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Encounter.contained",
            "path": "Encounter.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Encounter.extension",
            "path": "Encounter.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Encounter.modifierExtension",
            "path": "Encounter.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Encounter.identifier",
            "path": "Encounter.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.status",
            "path": "Encounter.status",
            "comment": "Note that internal business rules will detemine the appropraite transitions that may occur between statuses (and also classes).\n\nThis element is labeled as a modifier because the status contains codes that mark the encounter as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterStatus"
                }
              ],
              "strength": "required",
              "description": "Current state of the encounter",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-status"
              }
            }
          },
          {
            "id": "Encounter.statusHistory",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "StatusHistory"
              }
            ],
            "path": "Encounter.statusHistory",
            "comment": "The current status is always found in the current version of the resource, not the status history.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Encounter.statusHistory.id",
            "path": "Encounter.statusHistory.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Encounter.statusHistory.extension",
            "path": "Encounter.statusHistory.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Encounter.statusHistory.modifierExtension",
            "path": "Encounter.statusHistory.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Encounter.statusHistory.status",
            "path": "Encounter.statusHistory.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterStatus"
                }
              ],
              "strength": "required",
              "description": "Current state of the encounter",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-status"
              }
            }
          },
          {
            "id": "Encounter.statusHistory.period",
            "path": "Encounter.statusHistory.period",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Encounter.class",
            "path": "Encounter.class",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterClass"
                }
              ],
              "strength": "extensible",
              "description": "Classification of the encounter",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActEncounterCode"
              }
            }
          },
          {
            "id": "Encounter.classHistory",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ClassHistory"
              }
            ],
            "path": "Encounter.classHistory",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Encounter.classHistory.id",
            "path": "Encounter.classHistory.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Encounter.classHistory.extension",
            "path": "Encounter.classHistory.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Encounter.classHistory.modifierExtension",
            "path": "Encounter.classHistory.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Encounter.classHistory.class",
            "path": "Encounter.classHistory.class",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterClass"
                }
              ],
              "strength": "extensible",
              "description": "Classification of the encounter",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActEncounterCode"
              }
            }
          },
          {
            "id": "Encounter.classHistory.period",
            "path": "Encounter.classHistory.period",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Encounter.type",
            "path": "Encounter.type",
            "comment": "Since there are many ways to further classify encounters, this element is 0..*.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterType"
                }
              ],
              "strength": "example",
              "description": "The type of encounter",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-type"
              }
            }
          },
          {
            "id": "Encounter.priority",
            "path": "Encounter.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Priority"
                }
              ],
              "strength": "example",
              "description": "Indicates the urgency of the encounter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActPriority"
              }
            }
          },
          {
            "id": "Encounter.subject",
            "path": "Encounter.subject",
            "comment": "While the encounter is always about the patient, the patient may not actually be known in all contexts of use, and there may be a group of patients that could be anonymous (such as in a group therapy for Alcoholics Anonymous - where the recording of the encounter could be used for billing on the number of people/staff and not important to the context of the specific patients) or alternately in veterinary care a herd of sheep receiving treatment (where the animals are not individually tracked).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.episodeOfCare",
            "path": "Encounter.episodeOfCare",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.incomingReferral",
            "path": "Encounter.incomingReferral",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ]
          },
          {
            "id": "Encounter.participant",
            "path": "Encounter.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.participant.id",
            "path": "Encounter.participant.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Encounter.participant.extension",
            "path": "Encounter.participant.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Encounter.participant.modifierExtension",
            "path": "Encounter.participant.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Encounter.participant.type",
            "path": "Encounter.participant.type",
            "comment": "The participant type indicates how an individual partitipates in an encounter. It includes non-practitioner participants, and for practitioners this is to describe the action type in the context of this encounter (e.g. Admitting Dr, Attending Dr, Translator, Consulting Dr). This is different to the practitioner roles which are functional roles, derived from terms of employment, education, licensing, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ParticipantType"
                }
              ],
              "strength": "extensible",
              "description": "Role of participant in encounter",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-participant-type"
              }
            }
          },
          {
            "id": "Encounter.participant.period",
            "path": "Encounter.participant.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Encounter.participant.individual",
            "path": "Encounter.participant.individual",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.appointment",
            "path": "Encounter.appointment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Appointment"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.period",
            "path": "Encounter.period",
            "comment": "If not (yet) known, the end of the Period may be omitted.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Encounter.length",
            "path": "Encounter.length",
            "comment": "May differ from the time the Encounter.period lasted because of leave of absence.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Duration"
              }
            ]
          },
          {
            "id": "Encounter.reason",
            "path": "Encounter.reason",
            "comment": "For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterReason"
                }
              ],
              "strength": "preferred",
              "description": "Reason why the encounter takes place.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-reason"
              }
            }
          },
          {
            "id": "Encounter.diagnosis",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Diagnosis"
              }
            ],
            "path": "Encounter.diagnosis",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.diagnosis.id",
            "path": "Encounter.diagnosis.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Encounter.diagnosis.extension",
            "path": "Encounter.diagnosis.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Encounter.diagnosis.modifierExtension",
            "path": "Encounter.diagnosis.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Encounter.diagnosis.condition",
            "path": "Encounter.diagnosis.condition",
            "comment": "For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ]
          },
          {
            "id": "Encounter.diagnosis.role",
            "path": "Encounter.diagnosis.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosisRole"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "preferred",
              "description": "The type of diagnosis this condition represents",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/diagnosis-role"
              }
            }
          },
          {
            "id": "Encounter.diagnosis.rank",
            "path": "Encounter.diagnosis.rank",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Encounter.account",
            "path": "Encounter.account",
            "comment": "The billing system may choose to allocate billable items associated with the Encounter to different referenced Accounts based on internal business rules.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Account"
              }
            ]
          },
          {
            "id": "Encounter.hospitalization",
            "path": "Encounter.hospitalization",
            "comment": "An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included.\r\rThe duration recorded in the period of this encounter covers the entire scope of this hospitalization record.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Encounter.hospitalization.id",
            "path": "Encounter.hospitalization.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Encounter.hospitalization.extension",
            "path": "Encounter.hospitalization.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Encounter.hospitalization.modifierExtension",
            "path": "Encounter.hospitalization.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Encounter.hospitalization.preAdmissionIdentifier",
            "path": "Encounter.hospitalization.preAdmissionIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Encounter.hospitalization.origin",
            "path": "Encounter.hospitalization.origin",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Encounter.hospitalization.admitSource",
            "path": "Encounter.hospitalization.admitSource",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdmitSource"
                }
              ],
              "strength": "preferred",
              "description": "From where the patient was admitted.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-admit-source"
              }
            }
          },
          {
            "id": "Encounter.hospitalization.reAdmission",
            "path": "Encounter.hospitalization.reAdmission",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReAdmissionType"
                }
              ],
              "strength": "example",
              "description": "The reason for re-admission of this hospitalization encounter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0092"
              }
            }
          },
          {
            "id": "Encounter.hospitalization.dietPreference",
            "path": "Encounter.hospitalization.dietPreference",
            "comment": "For example a patient may request both a dairy-free and nut-free diet preference (not mutually exclusive).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PatientDiet"
                }
              ],
              "strength": "example",
              "description": "Medical, cultural or ethical food preferences to help with catering requirements.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-diet"
              }
            }
          },
          {
            "id": "Encounter.hospitalization.specialCourtesy",
            "path": "Encounter.hospitalization.specialCourtesy",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Courtesies"
                }
              ],
              "strength": "preferred",
              "description": "Special courtesies",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-special-courtesy"
              }
            }
          },
          {
            "id": "Encounter.hospitalization.specialArrangement",
            "path": "Encounter.hospitalization.specialArrangement",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Arrangements"
                }
              ],
              "strength": "preferred",
              "description": "Special arrangements",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-special-arrangements"
              }
            }
          },
          {
            "id": "Encounter.hospitalization.destination",
            "path": "Encounter.hospitalization.destination",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Encounter.hospitalization.dischargeDisposition",
            "path": "Encounter.hospitalization.dischargeDisposition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DischargeDisp"
                }
              ],
              "strength": "example",
              "description": "Discharge Disposition",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-discharge-disposition"
              }
            }
          },
          {
            "id": "Encounter.location",
            "path": "Encounter.location",
            "comment": "Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type \"kind\" such as \"client's home\" and an encounter.class = \"virtual\".",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Encounter.location.id",
            "path": "Encounter.location.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Encounter.location.extension",
            "path": "Encounter.location.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Encounter.location.modifierExtension",
            "path": "Encounter.location.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Encounter.location.location",
            "path": "Encounter.location.location",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Encounter.location.status",
            "path": "Encounter.location.status",
            "comment": "When the patient is no longer active at a location, then the period end date is entered, and the status may be changed to completed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterLocationStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the location.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-location-status"
              }
            }
          },
          {
            "id": "Encounter.location.period",
            "path": "Encounter.location.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Encounter.serviceProvider",
            "path": "Encounter.serviceProvider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Encounter.partOf",
            "path": "Encounter.partOf",
            "comment": "This is also used for associating a child's encounter back to the mother's encounter.\r\rRefer to the Notes section in the Patient resource for further details.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Encounter",
            "path": "Encounter",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Encounter.identifier",
            "path": "Encounter.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.status",
            "path": "Encounter.status",
            "comment": "Note that internal business rules will detemine the appropraite transitions that may occur between statuses (and also classes).\n\nThis element is labeled as a modifier because the status contains codes that mark the encounter as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterStatus"
                }
              ],
              "strength": "required",
              "description": "Current state of the encounter",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-status"
              }
            }
          },
          {
            "id": "Encounter.statusHistory",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "StatusHistory"
              }
            ],
            "path": "Encounter.statusHistory",
            "comment": "The current status is always found in the current version of the resource, not the status history.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Encounter.statusHistory.status",
            "path": "Encounter.statusHistory.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterStatus"
                }
              ],
              "strength": "required",
              "description": "Current state of the encounter",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-status"
              }
            }
          },
          {
            "id": "Encounter.statusHistory.period",
            "path": "Encounter.statusHistory.period",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Encounter.class",
            "path": "Encounter.class",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterClass"
                }
              ],
              "strength": "extensible",
              "description": "Classification of the encounter",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActEncounterCode"
              }
            }
          },
          {
            "id": "Encounter.classHistory",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ClassHistory"
              }
            ],
            "path": "Encounter.classHistory",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Encounter.classHistory.class",
            "path": "Encounter.classHistory.class",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterClass"
                }
              ],
              "strength": "extensible",
              "description": "Classification of the encounter",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActEncounterCode"
              }
            }
          },
          {
            "id": "Encounter.classHistory.period",
            "path": "Encounter.classHistory.period",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Encounter.type",
            "path": "Encounter.type",
            "comment": "Since there are many ways to further classify encounters, this element is 0..*.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterType"
                }
              ],
              "strength": "example",
              "description": "The type of encounter",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-type"
              }
            }
          },
          {
            "id": "Encounter.priority",
            "path": "Encounter.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Priority"
                }
              ],
              "strength": "example",
              "description": "Indicates the urgency of the encounter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActPriority"
              }
            }
          },
          {
            "id": "Encounter.subject",
            "path": "Encounter.subject",
            "comment": "While the encounter is always about the patient, the patient may not actually be known in all contexts of use, and there may be a group of patients that could be anonymous (such as in a group therapy for Alcoholics Anonymous - where the recording of the encounter could be used for billing on the number of people/staff and not important to the context of the specific patients) or alternately in veterinary care a herd of sheep receiving treatment (where the animals are not individually tracked).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.episodeOfCare",
            "path": "Encounter.episodeOfCare",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.incomingReferral",
            "path": "Encounter.incomingReferral",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ]
          },
          {
            "id": "Encounter.participant",
            "path": "Encounter.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.participant.type",
            "path": "Encounter.participant.type",
            "comment": "The participant type indicates how an individual partitipates in an encounter. It includes non-practitioner participants, and for practitioners this is to describe the action type in the context of this encounter (e.g. Admitting Dr, Attending Dr, Translator, Consulting Dr). This is different to the practitioner roles which are functional roles, derived from terms of employment, education, licensing, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ParticipantType"
                }
              ],
              "strength": "extensible",
              "description": "Role of participant in encounter",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-participant-type"
              }
            }
          },
          {
            "id": "Encounter.participant.period",
            "path": "Encounter.participant.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Encounter.participant.individual",
            "path": "Encounter.participant.individual",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.appointment",
            "path": "Encounter.appointment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Appointment"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.period",
            "path": "Encounter.period",
            "comment": "If not (yet) known, the end of the Period may be omitted.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Encounter.length",
            "path": "Encounter.length",
            "comment": "May differ from the time the Encounter.period lasted because of leave of absence.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Duration"
              }
            ]
          },
          {
            "id": "Encounter.reason",
            "path": "Encounter.reason",
            "comment": "For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterReason"
                }
              ],
              "strength": "preferred",
              "description": "Reason why the encounter takes place.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-reason"
              }
            }
          },
          {
            "id": "Encounter.diagnosis",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Diagnosis"
              }
            ],
            "path": "Encounter.diagnosis",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Encounter.diagnosis.condition",
            "path": "Encounter.diagnosis.condition",
            "comment": "For systems that need to know which was the primary diagnosis, these will be marked with the standard extension primaryDiagnosis (which is a sequence value rather than a flag, 1 = primary diagnosis).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ]
          },
          {
            "id": "Encounter.diagnosis.role",
            "path": "Encounter.diagnosis.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosisRole"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "preferred",
              "description": "The type of diagnosis this condition represents",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/diagnosis-role"
              }
            }
          },
          {
            "id": "Encounter.diagnosis.rank",
            "path": "Encounter.diagnosis.rank",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Encounter.account",
            "path": "Encounter.account",
            "comment": "The billing system may choose to allocate billable items associated with the Encounter to different referenced Accounts based on internal business rules.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Account"
              }
            ]
          },
          {
            "id": "Encounter.hospitalization",
            "path": "Encounter.hospitalization",
            "comment": "An Encounter may cover more than just the inpatient stay. Contexts such as outpatients, community clinics, and aged care facilities are also included.\r\rThe duration recorded in the period of this encounter covers the entire scope of this hospitalization record.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Encounter.hospitalization.preAdmissionIdentifier",
            "path": "Encounter.hospitalization.preAdmissionIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Encounter.hospitalization.origin",
            "path": "Encounter.hospitalization.origin",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Encounter.hospitalization.admitSource",
            "path": "Encounter.hospitalization.admitSource",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdmitSource"
                }
              ],
              "strength": "preferred",
              "description": "From where the patient was admitted.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-admit-source"
              }
            }
          },
          {
            "id": "Encounter.hospitalization.reAdmission",
            "path": "Encounter.hospitalization.reAdmission",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReAdmissionType"
                }
              ],
              "strength": "example",
              "description": "The reason for re-admission of this hospitalization encounter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0092"
              }
            }
          },
          {
            "id": "Encounter.hospitalization.dietPreference",
            "path": "Encounter.hospitalization.dietPreference",
            "comment": "For example a patient may request both a dairy-free and nut-free diet preference (not mutually exclusive).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PatientDiet"
                }
              ],
              "strength": "example",
              "description": "Medical, cultural or ethical food preferences to help with catering requirements.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-diet"
              }
            }
          },
          {
            "id": "Encounter.hospitalization.specialCourtesy",
            "path": "Encounter.hospitalization.specialCourtesy",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Courtesies"
                }
              ],
              "strength": "preferred",
              "description": "Special courtesies",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-special-courtesy"
              }
            }
          },
          {
            "id": "Encounter.hospitalization.specialArrangement",
            "path": "Encounter.hospitalization.specialArrangement",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Arrangements"
                }
              ],
              "strength": "preferred",
              "description": "Special arrangements",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-special-arrangements"
              }
            }
          },
          {
            "id": "Encounter.hospitalization.destination",
            "path": "Encounter.hospitalization.destination",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Encounter.hospitalization.dischargeDisposition",
            "path": "Encounter.hospitalization.dischargeDisposition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DischargeDisp"
                }
              ],
              "strength": "example",
              "description": "Discharge Disposition",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-discharge-disposition"
              }
            }
          },
          {
            "id": "Encounter.location",
            "path": "Encounter.location",
            "comment": "Virtual encounters can be recorded in the Encounter by specifying a location reference to a location of type \"kind\" such as \"client's home\" and an encounter.class = \"virtual\".",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Encounter.location.location",
            "path": "Encounter.location.location",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Encounter.location.status",
            "path": "Encounter.location.status",
            "comment": "When the patient is no longer active at a location, then the period end date is entered, and the status may be changed to completed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EncounterLocationStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the location.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-location-status"
              }
            }
          },
          {
            "id": "Encounter.location.period",
            "path": "Encounter.location.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Encounter.serviceProvider",
            "path": "Encounter.serviceProvider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Encounter.partOf",
            "path": "Encounter.partOf",
            "comment": "This is also used for associating a child's encounter back to the mother's encounter.\r\rRefer to the Notes section in the Patient resource for further details.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Endpoint",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Endpoint",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Endpoint",
      "name": "Endpoint",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Endpoint",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Endpoint",
            "path": "Endpoint",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Endpoint.id",
            "path": "Endpoint.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Endpoint.meta",
            "path": "Endpoint.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Endpoint.implicitRules",
            "path": "Endpoint.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Endpoint.language",
            "path": "Endpoint.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Endpoint.text",
            "path": "Endpoint.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Endpoint.contained",
            "path": "Endpoint.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Endpoint.extension",
            "path": "Endpoint.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Endpoint.modifierExtension",
            "path": "Endpoint.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Endpoint.identifier",
            "path": "Endpoint.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Endpoint.status",
            "path": "Endpoint.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the endpoint as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EndpointStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the endpoint",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/endpoint-status"
              }
            }
          },
          {
            "id": "Endpoint.connectionType",
            "path": "Endpoint.connectionType",
            "comment": "For additional connectivity details for the protocol, extensions will be used at this point, as in the XDS example.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "endpoint-contype"
                }
              ],
              "strength": "extensible",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/endpoint-connection-type"
              }
            }
          },
          {
            "id": "Endpoint.name",
            "path": "Endpoint.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Endpoint.managingOrganization",
            "path": "Endpoint.managingOrganization",
            "comment": "This property is not typically used when searching for Endpoint resources for usage. The typical usage is via the reference from an aplicable Organization/Location/Practitioner resource, which is where the context is provided. Multiple Locations may reference a single endpoint, and don't have to be within the same organization resource, but most likely within the same organizational hierarchy.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Endpoint.contact",
            "path": "Endpoint.contact",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ]
          },
          {
            "id": "Endpoint.period",
            "path": "Endpoint.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Endpoint.payloadType",
            "path": "Endpoint.payloadType",
            "comment": "The payloadFormat describes the serialization format of the data, where the payloadType indicates the specific document/schema that is being transferred; e.g. DischargeSummary or CarePlan.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PayloadType"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/endpoint-payload-type"
              }
            }
          },
          {
            "id": "Endpoint.payloadMimeType",
            "path": "Endpoint.payloadMimeType",
            "comment": "Sending the payload has obvious security consequences. The server is responsible for ensuring that the content is appropriately secured.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MimeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The mime type of an attachment. Any valid mime type is allowed.",
              "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
            }
          },
          {
            "id": "Endpoint.address",
            "path": "Endpoint.address",
            "comment": "For rest-hook, and websocket, the end-point must be an http: or https: URL; for email, a mailto: url, for sms, a tel: url, and for message the endpoint can be in any form of url the server understands (usually, http: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since their may be more than one, clients should avoid using relative URIs)\n\nThis address will be to the service base, without any parameters, or sub-services or resources tacked on.\n\nE.g. for a WADO-RS endpoint, the url should be \"https://pacs.hospital.org/wado-rs\"\n\nand not \"https://pacs.hospital.org/wado-rs/studies/1.2.250.1.59.40211.12345678.678910/series/1.2.250.1.59.40211.789001276.14556172.67789/instances/...\".",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Endpoint.header",
            "path": "Endpoint.header",
            "comment": "Exactly what these mean depend on the channel type. The can convey additional information to the recipient and/or meet security requirements.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": false
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Endpoint",
            "path": "Endpoint",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Endpoint.identifier",
            "path": "Endpoint.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Endpoint.status",
            "path": "Endpoint.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the endpoint as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EndpointStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the endpoint",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/endpoint-status"
              }
            }
          },
          {
            "id": "Endpoint.connectionType",
            "path": "Endpoint.connectionType",
            "comment": "For additional connectivity details for the protocol, extensions will be used at this point, as in the XDS example.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "endpoint-contype"
                }
              ],
              "strength": "extensible",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/endpoint-connection-type"
              }
            }
          },
          {
            "id": "Endpoint.name",
            "path": "Endpoint.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Endpoint.managingOrganization",
            "path": "Endpoint.managingOrganization",
            "comment": "This property is not typically used when searching for Endpoint resources for usage. The typical usage is via the reference from an aplicable Organization/Location/Practitioner resource, which is where the context is provided. Multiple Locations may reference a single endpoint, and don't have to be within the same organization resource, but most likely within the same organizational hierarchy.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Endpoint.contact",
            "path": "Endpoint.contact",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ]
          },
          {
            "id": "Endpoint.period",
            "path": "Endpoint.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Endpoint.payloadType",
            "path": "Endpoint.payloadType",
            "comment": "The payloadFormat describes the serialization format of the data, where the payloadType indicates the specific document/schema that is being transferred; e.g. DischargeSummary or CarePlan.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PayloadType"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/endpoint-payload-type"
              }
            }
          },
          {
            "id": "Endpoint.payloadMimeType",
            "path": "Endpoint.payloadMimeType",
            "comment": "Sending the payload has obvious security consequences. The server is responsible for ensuring that the content is appropriately secured.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MimeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The mime type of an attachment. Any valid mime type is allowed.",
              "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
            }
          },
          {
            "id": "Endpoint.address",
            "path": "Endpoint.address",
            "comment": "For rest-hook, and websocket, the end-point must be an http: or https: URL; for email, a mailto: url, for sms, a tel: url, and for message the endpoint can be in any form of url the server understands (usually, http: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since their may be more than one, clients should avoid using relative URIs)\n\nThis address will be to the service base, without any parameters, or sub-services or resources tacked on.\n\nE.g. for a WADO-RS endpoint, the url should be \"https://pacs.hospital.org/wado-rs\"\n\nand not \"https://pacs.hospital.org/wado-rs/studies/1.2.250.1.59.40211.12345678.678910/series/1.2.250.1.59.40211.789001276.14556172.67789/instances/...\".",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Endpoint.header",
            "path": "Endpoint.header",
            "comment": "Exactly what these mean depend on the channel type. The can convey additional information to the recipient and/or meet security requirements.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": false
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/EnrollmentRequest",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "EnrollmentRequest",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/EnrollmentRequest",
      "name": "EnrollmentRequest",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "EnrollmentRequest",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "EnrollmentRequest",
            "path": "EnrollmentRequest",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.id",
            "path": "EnrollmentRequest.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EnrollmentRequest.meta",
            "path": "EnrollmentRequest.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EnrollmentRequest.implicitRules",
            "path": "EnrollmentRequest.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "EnrollmentRequest.language",
            "path": "EnrollmentRequest.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "EnrollmentRequest.text",
            "path": "EnrollmentRequest.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "EnrollmentRequest.contained",
            "path": "EnrollmentRequest.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.extension",
            "path": "EnrollmentRequest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.modifierExtension",
            "path": "EnrollmentRequest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "EnrollmentRequest.identifier",
            "path": "EnrollmentRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.status",
            "path": "EnrollmentRequest.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the request as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EnrollmentRequestStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "EnrollmentRequest.created",
            "path": "EnrollmentRequest.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.insurer",
            "path": "EnrollmentRequest.insurer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.provider",
            "path": "EnrollmentRequest.provider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.organization",
            "path": "EnrollmentRequest.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.subject",
            "path": "EnrollmentRequest.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.coverage",
            "path": "EnrollmentRequest.coverage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "EnrollmentRequest",
            "path": "EnrollmentRequest",
            "min": 0,
            "max": "*"
          },
          {
            "id": "EnrollmentRequest.identifier",
            "path": "EnrollmentRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.status",
            "path": "EnrollmentRequest.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the request as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EnrollmentRequestStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "EnrollmentRequest.created",
            "path": "EnrollmentRequest.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.insurer",
            "path": "EnrollmentRequest.insurer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.provider",
            "path": "EnrollmentRequest.provider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.organization",
            "path": "EnrollmentRequest.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.subject",
            "path": "EnrollmentRequest.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "EnrollmentRequest.coverage",
            "path": "EnrollmentRequest.coverage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/EnrollmentResponse",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "EnrollmentResponse",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/EnrollmentResponse",
      "name": "EnrollmentResponse",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "EnrollmentResponse",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "EnrollmentResponse",
            "path": "EnrollmentResponse",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.id",
            "path": "EnrollmentResponse.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EnrollmentResponse.meta",
            "path": "EnrollmentResponse.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EnrollmentResponse.implicitRules",
            "path": "EnrollmentResponse.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "EnrollmentResponse.language",
            "path": "EnrollmentResponse.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "EnrollmentResponse.text",
            "path": "EnrollmentResponse.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "EnrollmentResponse.contained",
            "path": "EnrollmentResponse.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.extension",
            "path": "EnrollmentResponse.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.modifierExtension",
            "path": "EnrollmentResponse.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "EnrollmentResponse.identifier",
            "path": "EnrollmentResponse.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.status",
            "path": "EnrollmentResponse.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the response as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EnrollmentResponseStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "EnrollmentResponse.request",
            "path": "EnrollmentResponse.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EnrollmentRequest"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.outcome",
            "path": "EnrollmentResponse.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RemittanceOutcome"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The outcome of the processing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/remittance-outcome"
              }
            }
          },
          {
            "id": "EnrollmentResponse.disposition",
            "path": "EnrollmentResponse.disposition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.created",
            "path": "EnrollmentResponse.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.organization",
            "path": "EnrollmentResponse.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.requestProvider",
            "path": "EnrollmentResponse.requestProvider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.requestOrganization",
            "path": "EnrollmentResponse.requestOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "EnrollmentResponse",
            "path": "EnrollmentResponse",
            "min": 0,
            "max": "*"
          },
          {
            "id": "EnrollmentResponse.identifier",
            "path": "EnrollmentResponse.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.status",
            "path": "EnrollmentResponse.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the response as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EnrollmentResponseStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "EnrollmentResponse.request",
            "path": "EnrollmentResponse.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EnrollmentRequest"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.outcome",
            "path": "EnrollmentResponse.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RemittanceOutcome"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The outcome of the processing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/remittance-outcome"
              }
            }
          },
          {
            "id": "EnrollmentResponse.disposition",
            "path": "EnrollmentResponse.disposition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.created",
            "path": "EnrollmentResponse.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.organization",
            "path": "EnrollmentResponse.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.requestProvider",
            "path": "EnrollmentResponse.requestProvider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "EnrollmentResponse.requestOrganization",
            "path": "EnrollmentResponse.requestOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "EpisodeOfCare",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare",
      "name": "EpisodeOfCare",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "EpisodeOfCare",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "EpisodeOfCare",
            "path": "EpisodeOfCare",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.id",
            "path": "EpisodeOfCare.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.meta",
            "path": "EpisodeOfCare.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.implicitRules",
            "path": "EpisodeOfCare.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.language",
            "path": "EpisodeOfCare.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "EpisodeOfCare.text",
            "path": "EpisodeOfCare.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "EpisodeOfCare.contained",
            "path": "EpisodeOfCare.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.extension",
            "path": "EpisodeOfCare.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.modifierExtension",
            "path": "EpisodeOfCare.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "EpisodeOfCare.identifier",
            "path": "EpisodeOfCare.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.status",
            "path": "EpisodeOfCare.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the episode as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EpisodeOfCareStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the episode of care.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/episode-of-care-status"
              }
            }
          },
          {
            "id": "EpisodeOfCare.statusHistory",
            "path": "EpisodeOfCare.statusHistory",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.statusHistory.id",
            "path": "EpisodeOfCare.statusHistory.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.statusHistory.extension",
            "path": "EpisodeOfCare.statusHistory.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.statusHistory.modifierExtension",
            "path": "EpisodeOfCare.statusHistory.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.statusHistory.status",
            "path": "EpisodeOfCare.statusHistory.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EpisodeOfCareStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the episode of care.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/episode-of-care-status"
              }
            }
          },
          {
            "id": "EpisodeOfCare.statusHistory.period",
            "path": "EpisodeOfCare.statusHistory.period",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.type",
            "path": "EpisodeOfCare.type",
            "comment": "The type can be very important in processing as this could be used in determining if the EpisodeOfCare is relevant to specific government reporting, or other types of classifications.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EpisodeOfCareType"
                }
              ],
              "strength": "example",
              "description": "The type of the episode of care",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/episodeofcare-type"
              }
            }
          },
          {
            "id": "EpisodeOfCare.diagnosis",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Diagnosis"
              }
            ],
            "path": "EpisodeOfCare.diagnosis",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.diagnosis.id",
            "path": "EpisodeOfCare.diagnosis.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.diagnosis.extension",
            "path": "EpisodeOfCare.diagnosis.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.diagnosis.modifierExtension",
            "path": "EpisodeOfCare.diagnosis.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.diagnosis.condition",
            "path": "EpisodeOfCare.diagnosis.condition",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.diagnosis.role",
            "path": "EpisodeOfCare.diagnosis.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosisRole"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "preferred",
              "description": "The type of diagnosis this condition represents",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/diagnosis-role"
              }
            }
          },
          {
            "id": "EpisodeOfCare.diagnosis.rank",
            "path": "EpisodeOfCare.diagnosis.rank",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.patient",
            "path": "EpisodeOfCare.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.managingOrganization",
            "path": "EpisodeOfCare.managingOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.period",
            "path": "EpisodeOfCare.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.referralRequest",
            "path": "EpisodeOfCare.referralRequest",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.careManager",
            "path": "EpisodeOfCare.careManager",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.team",
            "path": "EpisodeOfCare.team",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.account",
            "path": "EpisodeOfCare.account",
            "comment": "The billing system may choose to allocate billable items associated with the EpisodeOfCare to different referenced Accounts based on internal business rules.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Account"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "EpisodeOfCare",
            "path": "EpisodeOfCare",
            "min": 0,
            "max": "*"
          },
          {
            "id": "EpisodeOfCare.identifier",
            "path": "EpisodeOfCare.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.status",
            "path": "EpisodeOfCare.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the episode as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EpisodeOfCareStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the episode of care.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/episode-of-care-status"
              }
            }
          },
          {
            "id": "EpisodeOfCare.statusHistory",
            "path": "EpisodeOfCare.statusHistory",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.statusHistory.status",
            "path": "EpisodeOfCare.statusHistory.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EpisodeOfCareStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the episode of care.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/episode-of-care-status"
              }
            }
          },
          {
            "id": "EpisodeOfCare.statusHistory.period",
            "path": "EpisodeOfCare.statusHistory.period",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.type",
            "path": "EpisodeOfCare.type",
            "comment": "The type can be very important in processing as this could be used in determining if the EpisodeOfCare is relevant to specific government reporting, or other types of classifications.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EpisodeOfCareType"
                }
              ],
              "strength": "example",
              "description": "The type of the episode of care",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/episodeofcare-type"
              }
            }
          },
          {
            "id": "EpisodeOfCare.diagnosis",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Diagnosis"
              }
            ],
            "path": "EpisodeOfCare.diagnosis",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.diagnosis.condition",
            "path": "EpisodeOfCare.diagnosis.condition",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.diagnosis.role",
            "path": "EpisodeOfCare.diagnosis.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosisRole"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "preferred",
              "description": "The type of diagnosis this condition represents",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/diagnosis-role"
              }
            }
          },
          {
            "id": "EpisodeOfCare.diagnosis.rank",
            "path": "EpisodeOfCare.diagnosis.rank",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.patient",
            "path": "EpisodeOfCare.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.managingOrganization",
            "path": "EpisodeOfCare.managingOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.period",
            "path": "EpisodeOfCare.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "EpisodeOfCare.referralRequest",
            "path": "EpisodeOfCare.referralRequest",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.careManager",
            "path": "EpisodeOfCare.careManager",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.team",
            "path": "EpisodeOfCare.team",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CareTeam"
              }
            ]
          },
          {
            "id": "EpisodeOfCare.account",
            "path": "EpisodeOfCare.account",
            "comment": "The billing system may choose to allocate billable items associated with the EpisodeOfCare to different referenced Accounts based on internal business rules.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Account"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ExpansionProfile",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ExpansionProfile",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "vocab"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ExpansionProfile",
      "name": "ExpansionProfile",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ExpansionProfile",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ExpansionProfile",
            "path": "ExpansionProfile",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ExpansionProfile.id",
            "path": "ExpansionProfile.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.meta",
            "path": "ExpansionProfile.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.implicitRules",
            "path": "ExpansionProfile.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.language",
            "path": "ExpansionProfile.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ExpansionProfile.text",
            "path": "ExpansionProfile.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ExpansionProfile.contained",
            "path": "ExpansionProfile.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ExpansionProfile.extension",
            "path": "ExpansionProfile.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExpansionProfile.modifierExtension",
            "path": "ExpansionProfile.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ExpansionProfile.url",
            "path": "ExpansionProfile.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.identifier",
            "path": "ExpansionProfile.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this expansion profile outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.version",
            "path": "ExpansionProfile.version",
            "comment": "There may be different expansion profile instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the expansion profile with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.name",
            "path": "ExpansionProfile.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.status",
            "path": "ExpansionProfile.status",
            "comment": "Allows filtering of expansion profiles that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired expansion profile without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "ExpansionProfile.experimental",
            "path": "ExpansionProfile.experimental",
            "comment": "Allows filtering of expansion profile that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental expansion profile in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.date",
            "path": "ExpansionProfile.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the expansion profile. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.publisher",
            "path": "ExpansionProfile.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the expansion profile is the organization or individual primarily responsible for the maintenance and upkeep of the expansion profile. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the expansion profile. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.contact",
            "path": "ExpansionProfile.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.description",
            "path": "ExpansionProfile.description",
            "comment": "This description can be used to capture details such as why the expansion profile was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the expansion profile as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ExpansionProfile.useContext",
            "path": "ExpansionProfile.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.jurisdiction",
            "path": "ExpansionProfile.jurisdiction",
            "comment": "It may be possible for the expansion profile to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ExpansionProfile.fixedVersion",
            "path": "ExpansionProfile.fixedVersion",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.fixedVersion.id",
            "path": "ExpansionProfile.fixedVersion.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExpansionProfile.fixedVersion.extension",
            "path": "ExpansionProfile.fixedVersion.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExpansionProfile.fixedVersion.modifierExtension",
            "path": "ExpansionProfile.fixedVersion.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.fixedVersion.system",
            "path": "ExpansionProfile.fixedVersion.system",
            "comment": "See ''Coding.system'' for further documentation.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.fixedVersion.version",
            "path": "ExpansionProfile.fixedVersion.version",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.fixedVersion.mode",
            "path": "ExpansionProfile.fixedVersion.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SystemVersionProcessingMode"
                }
              ],
              "strength": "required",
              "description": "How to manage the intersection between a fixed version in a value set, and a fixed version of the system in the expansion profile",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/system-version-processing-mode"
              }
            }
          },
          {
            "id": "ExpansionProfile.excludedSystem",
            "path": "ExpansionProfile.excludedSystem",
            "comment": "When a system is excluded, and this makes a material difference to the expansion, the exclusion SHALL  be noted in the expansion parameters using a parameter 'excluded'.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.excludedSystem.id",
            "path": "ExpansionProfile.excludedSystem.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExpansionProfile.excludedSystem.extension",
            "path": "ExpansionProfile.excludedSystem.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExpansionProfile.excludedSystem.modifierExtension",
            "path": "ExpansionProfile.excludedSystem.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.excludedSystem.system",
            "path": "ExpansionProfile.excludedSystem.system",
            "comment": "See ''Coding.system'' for further documentation.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.excludedSystem.version",
            "path": "ExpansionProfile.excludedSystem.version",
            "comment": "This is used to apply version specifc exclusion contraints. If no version is specified, then all codes from the code system present in the expansion (prior to application of the expansion profile) will be excluded.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "meaningWhenMissing": "Exclusion is not version specific",
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.includeDesignations",
            "path": "ExpansionProfile.includeDesignations",
            "comment": "ExpansionProfile.designation.include and ExpansionProfile.designation.exclude are only evaluated if includeDesignations is present and set to \"true\". If includeDesignations is present with a value of \"true\" and both ExpansionProfile.designation.include and ExpansionProfile.designation.exclude are absent, then all designations are returned in the expansion.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation",
            "path": "ExpansionProfile.designation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.id",
            "path": "ExpansionProfile.designation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExpansionProfile.designation.extension",
            "path": "ExpansionProfile.designation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExpansionProfile.designation.modifierExtension",
            "path": "ExpansionProfile.designation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.include",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "DesignationInclude"
              }
            ],
            "path": "ExpansionProfile.designation.include",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.include.id",
            "path": "ExpansionProfile.designation.include.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExpansionProfile.designation.include.extension",
            "path": "ExpansionProfile.designation.include.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExpansionProfile.designation.include.modifierExtension",
            "path": "ExpansionProfile.designation.include.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.include.designation",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "DesignationIncludeDesignation"
              }
            ],
            "path": "ExpansionProfile.designation.include.designation",
            "comment": "At least one of designation.language or designation.use must be provided for each include.designation element.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "exp-3",
                "severity": "error",
                "human": "SHALL have at least one of language or use",
                "expression": "language.exists() or use.exists()",
                "xpath": "exists(f:language) or exists(f:use)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.include.designation.id",
            "path": "ExpansionProfile.designation.include.designation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExpansionProfile.designation.include.designation.extension",
            "path": "ExpansionProfile.designation.include.designation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExpansionProfile.designation.include.designation.modifierExtension",
            "path": "ExpansionProfile.designation.include.designation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.include.designation.language",
            "path": "ExpansionProfile.designation.include.designation.language",
            "comment": "In the absence of a language, all designations are retained which match the designation.use parameter for this include.designation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ExpansionProfile.designation.include.designation.use",
            "path": "ExpansionProfile.designation.include.designation.use",
            "comment": "In the absence of a use, all designations are retained which match the designation.language parameter for this include.designation element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConceptDesignationUse"
                }
              ],
              "strength": "required",
              "description": "Details of how a designation would be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/designation-use"
              }
            }
          },
          {
            "id": "ExpansionProfile.designation.exclude",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "DesignationExclude"
              }
            ],
            "path": "ExpansionProfile.designation.exclude",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.exclude.id",
            "path": "ExpansionProfile.designation.exclude.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExpansionProfile.designation.exclude.extension",
            "path": "ExpansionProfile.designation.exclude.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExpansionProfile.designation.exclude.modifierExtension",
            "path": "ExpansionProfile.designation.exclude.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.exclude.designation",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "DesignationExcludeDesignation"
              }
            ],
            "path": "ExpansionProfile.designation.exclude.designation",
            "comment": "At least one of designation.language or designation.use must be provided for each exclude.designation element.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "exp-4",
                "severity": "error",
                "human": "SHALL have at least one of language or use",
                "expression": "language.exists() or use.exists()",
                "xpath": "exists(f:language) or exists(f:use)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.exclude.designation.id",
            "path": "ExpansionProfile.designation.exclude.designation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExpansionProfile.designation.exclude.designation.extension",
            "path": "ExpansionProfile.designation.exclude.designation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExpansionProfile.designation.exclude.designation.modifierExtension",
            "path": "ExpansionProfile.designation.exclude.designation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.exclude.designation.language",
            "path": "ExpansionProfile.designation.exclude.designation.language",
            "comment": "In the absence of a language, all designations are excluded which match the designation.use parameter for this exclude.designation element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ExpansionProfile.designation.exclude.designation.use",
            "path": "ExpansionProfile.designation.exclude.designation.use",
            "comment": "In the absence of a use, all designations are retained which match the designation.language parameter for this exclude.designation element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConceptDesignationUse"
                }
              ],
              "strength": "required",
              "description": "Details of how a designation would be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/designation-use"
              }
            }
          },
          {
            "id": "ExpansionProfile.includeDefinition",
            "path": "ExpansionProfile.includeDefinition",
            "comment": "The ValueSet defintion refers to all fields in the ValueSet definition apart from  ValueSet.contains. The definition is only included if includeDefinition is present and has a value of \"true\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.activeOnly",
            "path": "ExpansionProfile.activeOnly",
            "comment": "Inactive codes are included if activeOnly is present and has a value of \"true\". Note that if the value set explicitly specifies that inactive codes are included, this property can still remove them from a specific expansion, but this parameter cannot include them if the value set excludes them.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.excludeNested",
            "path": "ExpansionProfile.excludeNested",
            "comment": "Nesting of codes is excluded if excludeNested is present and has a value of \"true\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.excludeNotForUI",
            "path": "ExpansionProfile.excludeNotForUI",
            "comment": "Codes which cannot be used in user interfaces will be excluded if excludeNotForUI is present and has a value of \"true\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.excludePostCoordinated",
            "path": "ExpansionProfile.excludePostCoordinated",
            "comment": "Post coordinated codes are excluded if excludePostCoordinated is present and has a value of \"true\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.displayLanguage",
            "path": "ExpansionProfile.displayLanguage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ExpansionProfile.limitedExpansion",
            "path": "ExpansionProfile.limitedExpansion",
            "comment": "This field overides the default behaviour (which is to return an error). This does not apply to expansions which are unbounded. Clients SHALL process the extension [http://hl7.org/fhir/StructureDefinition/valueset-toocostly](extension-valueset-toocostly.html) correctly if limitedExpansion = true.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ExpansionProfile",
            "path": "ExpansionProfile",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ExpansionProfile.url",
            "path": "ExpansionProfile.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.identifier",
            "path": "ExpansionProfile.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this expansion profile outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.version",
            "path": "ExpansionProfile.version",
            "comment": "There may be different expansion profile instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the expansion profile with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.name",
            "path": "ExpansionProfile.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.status",
            "path": "ExpansionProfile.status",
            "comment": "Allows filtering of expansion profiles that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired expansion profile without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "ExpansionProfile.experimental",
            "path": "ExpansionProfile.experimental",
            "comment": "Allows filtering of expansion profile that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental expansion profile in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.date",
            "path": "ExpansionProfile.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the expansion profile. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.publisher",
            "path": "ExpansionProfile.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the expansion profile is the organization or individual primarily responsible for the maintenance and upkeep of the expansion profile. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the expansion profile. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.contact",
            "path": "ExpansionProfile.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.description",
            "path": "ExpansionProfile.description",
            "comment": "This description can be used to capture details such as why the expansion profile was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the expansion profile as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ExpansionProfile.useContext",
            "path": "ExpansionProfile.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.jurisdiction",
            "path": "ExpansionProfile.jurisdiction",
            "comment": "It may be possible for the expansion profile to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ExpansionProfile.fixedVersion",
            "path": "ExpansionProfile.fixedVersion",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.fixedVersion.system",
            "path": "ExpansionProfile.fixedVersion.system",
            "comment": "See ''Coding.system'' for further documentation.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.fixedVersion.version",
            "path": "ExpansionProfile.fixedVersion.version",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.fixedVersion.mode",
            "path": "ExpansionProfile.fixedVersion.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SystemVersionProcessingMode"
                }
              ],
              "strength": "required",
              "description": "How to manage the intersection between a fixed version in a value set, and a fixed version of the system in the expansion profile",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/system-version-processing-mode"
              }
            }
          },
          {
            "id": "ExpansionProfile.excludedSystem",
            "path": "ExpansionProfile.excludedSystem",
            "comment": "When a system is excluded, and this makes a material difference to the expansion, the exclusion SHALL  be noted in the expansion parameters using a parameter 'excluded'.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.excludedSystem.system",
            "path": "ExpansionProfile.excludedSystem.system",
            "comment": "See ''Coding.system'' for further documentation.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.excludedSystem.version",
            "path": "ExpansionProfile.excludedSystem.version",
            "comment": "This is used to apply version specifc exclusion contraints. If no version is specified, then all codes from the code system present in the expansion (prior to application of the expansion profile) will be excluded.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "meaningWhenMissing": "Exclusion is not version specific",
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.includeDesignations",
            "path": "ExpansionProfile.includeDesignations",
            "comment": "ExpansionProfile.designation.include and ExpansionProfile.designation.exclude are only evaluated if includeDesignations is present and set to \"true\". If includeDesignations is present with a value of \"true\" and both ExpansionProfile.designation.include and ExpansionProfile.designation.exclude are absent, then all designations are returned in the expansion.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation",
            "path": "ExpansionProfile.designation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.include",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "DesignationInclude"
              }
            ],
            "path": "ExpansionProfile.designation.include",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.include.designation",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "DesignationIncludeDesignation"
              }
            ],
            "path": "ExpansionProfile.designation.include.designation",
            "comment": "At least one of designation.language or designation.use must be provided for each include.designation element.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "exp-3",
                "severity": "error",
                "human": "SHALL have at least one of language or use",
                "expression": "language.exists() or use.exists()",
                "xpath": "exists(f:language) or exists(f:use)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.include.designation.language",
            "path": "ExpansionProfile.designation.include.designation.language",
            "comment": "In the absence of a language, all designations are retained which match the designation.use parameter for this include.designation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ExpansionProfile.designation.include.designation.use",
            "path": "ExpansionProfile.designation.include.designation.use",
            "comment": "In the absence of a use, all designations are retained which match the designation.language parameter for this include.designation element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConceptDesignationUse"
                }
              ],
              "strength": "required",
              "description": "Details of how a designation would be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/designation-use"
              }
            }
          },
          {
            "id": "ExpansionProfile.designation.exclude",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "DesignationExclude"
              }
            ],
            "path": "ExpansionProfile.designation.exclude",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.exclude.designation",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "DesignationExcludeDesignation"
              }
            ],
            "path": "ExpansionProfile.designation.exclude.designation",
            "comment": "At least one of designation.language or designation.use must be provided for each exclude.designation element.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "exp-4",
                "severity": "error",
                "human": "SHALL have at least one of language or use",
                "expression": "language.exists() or use.exists()",
                "xpath": "exists(f:language) or exists(f:use)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.designation.exclude.designation.language",
            "path": "ExpansionProfile.designation.exclude.designation.language",
            "comment": "In the absence of a language, all designations are excluded which match the designation.use parameter for this exclude.designation element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ExpansionProfile.designation.exclude.designation.use",
            "path": "ExpansionProfile.designation.exclude.designation.use",
            "comment": "In the absence of a use, all designations are retained which match the designation.language parameter for this exclude.designation element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConceptDesignationUse"
                }
              ],
              "strength": "required",
              "description": "Details of how a designation would be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/designation-use"
              }
            }
          },
          {
            "id": "ExpansionProfile.includeDefinition",
            "path": "ExpansionProfile.includeDefinition",
            "comment": "The ValueSet defintion refers to all fields in the ValueSet definition apart from  ValueSet.contains. The definition is only included if includeDefinition is present and has a value of \"true\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.activeOnly",
            "path": "ExpansionProfile.activeOnly",
            "comment": "Inactive codes are included if activeOnly is present and has a value of \"true\". Note that if the value set explicitly specifies that inactive codes are included, this property can still remove them from a specific expansion, but this parameter cannot include them if the value set excludes them.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.excludeNested",
            "path": "ExpansionProfile.excludeNested",
            "comment": "Nesting of codes is excluded if excludeNested is present and has a value of \"true\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.excludeNotForUI",
            "path": "ExpansionProfile.excludeNotForUI",
            "comment": "Codes which cannot be used in user interfaces will be excluded if excludeNotForUI is present and has a value of \"true\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.excludePostCoordinated",
            "path": "ExpansionProfile.excludePostCoordinated",
            "comment": "Post coordinated codes are excluded if excludePostCoordinated is present and has a value of \"true\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExpansionProfile.displayLanguage",
            "path": "ExpansionProfile.displayLanguage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ExpansionProfile.limitedExpansion",
            "path": "ExpansionProfile.limitedExpansion",
            "comment": "This field overides the default behaviour (which is to return an error). This does not apply to expansions which are unbounded. Clients SHALL process the extension [http://hl7.org/fhir/StructureDefinition/valueset-toocostly](extension-valueset-toocostly.html) correctly if limitedExpansion = true.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ExplanationOfBenefit",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ExplanationOfBenefit",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ExplanationOfBenefit",
      "name": "ExplanationOfBenefit",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ExplanationOfBenefit",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ExplanationOfBenefit",
            "path": "ExplanationOfBenefit",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.id",
            "path": "ExplanationOfBenefit.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.meta",
            "path": "ExplanationOfBenefit.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.implicitRules",
            "path": "ExplanationOfBenefit.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.language",
            "path": "ExplanationOfBenefit.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.text",
            "path": "ExplanationOfBenefit.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ExplanationOfBenefit.contained",
            "path": "ExplanationOfBenefit.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.extension",
            "path": "ExplanationOfBenefit.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.modifierExtension",
            "path": "ExplanationOfBenefit.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ExplanationOfBenefit.identifier",
            "path": "ExplanationOfBenefit.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.status",
            "path": "ExplanationOfBenefit.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ExplanationOfBenefitStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/explanationofbenefit-status"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.type",
            "path": "ExplanationOfBenefit.type",
            "comment": "Affects which fields and value sets are used.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimType"
                }
              ],
              "strength": "required",
              "description": "The type or discipline-style of the claim",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-type"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.subType",
            "path": "ExplanationOfBenefit.subType",
            "comment": "This may contain the local bill type codes such as the US UB-04 bill type code.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimSubType"
                }
              ],
              "strength": "example",
              "description": "A more granulat claim typecode",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-subtype"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.patient",
            "path": "ExplanationOfBenefit.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.billablePeriod",
            "path": "ExplanationOfBenefit.billablePeriod",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.created",
            "path": "ExplanationOfBenefit.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.enterer",
            "path": "ExplanationOfBenefit.enterer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.insurer",
            "path": "ExplanationOfBenefit.insurer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.provider",
            "path": "ExplanationOfBenefit.provider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.organization",
            "path": "ExplanationOfBenefit.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.referral",
            "path": "ExplanationOfBenefit.referral",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.facility",
            "path": "ExplanationOfBenefit.facility",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.claim",
            "path": "ExplanationOfBenefit.claim",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Claim"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.claimResponse",
            "path": "ExplanationOfBenefit.claimResponse",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ClaimResponse"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.outcome",
            "path": "ExplanationOfBenefit.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RemittanceOutcome"
                }
              ],
              "strength": "example",
              "description": "The result of the claim processing",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/remittance-outcome"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.disposition",
            "path": "ExplanationOfBenefit.disposition",
            "comment": "Do we need a disposition code?",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.related",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "RelatedClaim"
              }
            ],
            "path": "ExplanationOfBenefit.related",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.related.id",
            "path": "ExplanationOfBenefit.related.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.related.extension",
            "path": "ExplanationOfBenefit.related.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.related.modifierExtension",
            "path": "ExplanationOfBenefit.related.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.related.claim",
            "path": "ExplanationOfBenefit.related.claim",
            "comment": "Do we need a relationship code?",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Claim"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.related.relationship",
            "path": "ExplanationOfBenefit.related.relationship",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RelatedClaimRelationship"
                }
              ],
              "strength": "example",
              "description": "Relationship of this claim to a related Claim",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/related-claim-relationship"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.related.reference",
            "path": "ExplanationOfBenefit.related.reference",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.prescription",
            "path": "ExplanationOfBenefit.prescription",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/VisionPrescription"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.originalPrescription",
            "path": "ExplanationOfBenefit.originalPrescription",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payee",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Payee"
              }
            ],
            "path": "ExplanationOfBenefit.payee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payee.id",
            "path": "ExplanationOfBenefit.payee.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payee.extension",
            "path": "ExplanationOfBenefit.payee.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payee.modifierExtension",
            "path": "ExplanationOfBenefit.payee.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.payee.type",
            "path": "ExplanationOfBenefit.payee.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PayeeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "A code for the party to be reimbursed.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payeetype"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.payee.resourceType",
            "path": "ExplanationOfBenefit.payee.resourceType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PayeeResourceType"
                }
              ],
              "strength": "required",
              "description": "The type of payee Resource",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-type-link"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.payee.party",
            "path": "ExplanationOfBenefit.payee.party",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.information",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SupportingInformation"
              }
            ],
            "path": "ExplanationOfBenefit.information",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.information.id",
            "path": "ExplanationOfBenefit.information.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.information.extension",
            "path": "ExplanationOfBenefit.information.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.information.modifierExtension",
            "path": "ExplanationOfBenefit.information.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.information.sequence",
            "path": "ExplanationOfBenefit.information.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.information.category",
            "path": "ExplanationOfBenefit.information.category",
            "comment": "This may contain the local bill type codes such as the US UB-04 bill type code.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InformationCategory"
                }
              ],
              "strength": "example",
              "description": "The valuset used for additional information category codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-informationcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.information.code",
            "path": "ExplanationOfBenefit.information.code",
            "comment": "This may contain the local bill type codes such as the US UB-04 bill type code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InformationCode"
                }
              ],
              "strength": "example",
              "description": "The valuset used for additional information codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-exception"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.information.timing[x]",
            "path": "ExplanationOfBenefit.information.timing[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.information.value[x]",
            "path": "ExplanationOfBenefit.information.value[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.information.reason",
            "path": "ExplanationOfBenefit.information.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MissingReason"
                }
              ],
              "strength": "example",
              "description": "Reason codes for the missing teeth",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/missing-tooth-reason"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.careTeam",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "CareTeam"
              }
            ],
            "path": "ExplanationOfBenefit.careTeam",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.careTeam.id",
            "path": "ExplanationOfBenefit.careTeam.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.careTeam.extension",
            "path": "ExplanationOfBenefit.careTeam.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.careTeam.modifierExtension",
            "path": "ExplanationOfBenefit.careTeam.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.careTeam.sequence",
            "path": "ExplanationOfBenefit.careTeam.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.careTeam.provider",
            "path": "ExplanationOfBenefit.careTeam.provider",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.careTeam.responsible",
            "path": "ExplanationOfBenefit.careTeam.responsible",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.careTeam.role",
            "path": "ExplanationOfBenefit.careTeam.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CareTeamRole"
                }
              ],
              "strength": "example",
              "description": "The role codes for the care team members.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-careteamrole"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.careTeam.qualification",
            "path": "ExplanationOfBenefit.careTeam.qualification",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProviderQualification"
                }
              ],
              "strength": "example",
              "description": "Provider professional qualifications",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/provider-qualification"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.diagnosis",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Diagnosis"
              }
            ],
            "path": "ExplanationOfBenefit.diagnosis",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.diagnosis.id",
            "path": "ExplanationOfBenefit.diagnosis.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.diagnosis.extension",
            "path": "ExplanationOfBenefit.diagnosis.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.diagnosis.modifierExtension",
            "path": "ExplanationOfBenefit.diagnosis.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.diagnosis.sequence",
            "path": "ExplanationOfBenefit.diagnosis.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.diagnosis.diagnosis[x]",
            "path": "ExplanationOfBenefit.diagnosis.diagnosis[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ICD10"
                }
              ],
              "strength": "example",
              "description": "ICD10 Diagnostic codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/icd-10"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.diagnosis.type",
            "path": "ExplanationOfBenefit.diagnosis.type",
            "comment": "Diagnosis are presented in list order to their expected importance: primary, secondary, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosisType"
                }
              ],
              "strength": "example",
              "description": "The type of the diagnosis: admitting, principal, discharge",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-diagnosistype"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.diagnosis.packageCode",
            "path": "ExplanationOfBenefit.diagnosis.packageCode",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosisRelatedGroup"
                }
              ],
              "strength": "example",
              "description": "The DRG codes associated with the diagnosis",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-diagnosisrelatedgroup"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.procedure",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Procedure"
              }
            ],
            "path": "ExplanationOfBenefit.procedure",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.procedure.id",
            "path": "ExplanationOfBenefit.procedure.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.procedure.extension",
            "path": "ExplanationOfBenefit.procedure.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.procedure.modifierExtension",
            "path": "ExplanationOfBenefit.procedure.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.procedure.sequence",
            "path": "ExplanationOfBenefit.procedure.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.procedure.date",
            "path": "ExplanationOfBenefit.procedure.date",
            "comment": "SB DateTime??",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.procedure.procedure[x]",
            "path": "ExplanationOfBenefit.procedure.procedure[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ICD10_Procedures"
                }
              ],
              "strength": "example",
              "description": "ICD10 Procedure codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/icd-10-procedures"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.precedence",
            "path": "ExplanationOfBenefit.precedence",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.insurance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Insurance"
              }
            ],
            "path": "ExplanationOfBenefit.insurance",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.insurance.id",
            "path": "ExplanationOfBenefit.insurance.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.insurance.extension",
            "path": "ExplanationOfBenefit.insurance.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.insurance.modifierExtension",
            "path": "ExplanationOfBenefit.insurance.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.insurance.coverage",
            "path": "ExplanationOfBenefit.insurance.coverage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.insurance.preAuthRef",
            "path": "ExplanationOfBenefit.insurance.preAuthRef",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.accident",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Accident"
              }
            ],
            "path": "ExplanationOfBenefit.accident",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.accident.id",
            "path": "ExplanationOfBenefit.accident.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.accident.extension",
            "path": "ExplanationOfBenefit.accident.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.accident.modifierExtension",
            "path": "ExplanationOfBenefit.accident.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.accident.date",
            "path": "ExplanationOfBenefit.accident.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.accident.type",
            "path": "ExplanationOfBenefit.accident.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AccidentType"
                }
              ],
              "strength": "required",
              "description": "Type of accident: work place, auto, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActIncidentCode"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.accident.location[x]",
            "path": "ExplanationOfBenefit.accident.location[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Address"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.employmentImpacted",
            "path": "ExplanationOfBenefit.employmentImpacted",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.hospitalization",
            "path": "ExplanationOfBenefit.hospitalization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Item"
              }
            ],
            "path": "ExplanationOfBenefit.item",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.id",
            "path": "ExplanationOfBenefit.item.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.extension",
            "path": "ExplanationOfBenefit.item.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.modifierExtension",
            "path": "ExplanationOfBenefit.item.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.item.sequence",
            "path": "ExplanationOfBenefit.item.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.careTeamLinkId",
            "path": "ExplanationOfBenefit.item.careTeamLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.diagnosisLinkId",
            "path": "ExplanationOfBenefit.item.diagnosisLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.procedureLinkId",
            "path": "ExplanationOfBenefit.item.procedureLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.informationLinkId",
            "path": "ExplanationOfBenefit.item.informationLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.revenue",
            "path": "ExplanationOfBenefit.item.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.category",
            "path": "ExplanationOfBenefit.item.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.service",
            "path": "ExplanationOfBenefit.item.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.modifier",
            "path": "ExplanationOfBenefit.item.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.programCode",
            "path": "ExplanationOfBenefit.item.programCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProgramCode"
                }
              ],
              "strength": "example",
              "description": "Program specific reason codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-program-code"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.serviced[x]",
            "path": "ExplanationOfBenefit.item.serviced[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.location[x]",
            "path": "ExplanationOfBenefit.item.location[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Address"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServicePlace"
                }
              ],
              "strength": "example",
              "description": "Place where the service is rendered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-place"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.quantity",
            "path": "ExplanationOfBenefit.item.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.unitPrice",
            "path": "ExplanationOfBenefit.item.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.factor",
            "path": "ExplanationOfBenefit.item.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.net",
            "path": "ExplanationOfBenefit.item.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.udi",
            "path": "ExplanationOfBenefit.item.udi",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.bodySite",
            "path": "ExplanationOfBenefit.item.bodySite",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OralSites"
                }
              ],
              "strength": "example",
              "description": "The code for the teeth, quadrant, sextant and arch",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/tooth"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.subSite",
            "path": "ExplanationOfBenefit.item.subSite",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Surface"
                }
              ],
              "strength": "example",
              "description": "The code for the tooth surface and surface combinations",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/surface"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.encounter",
            "path": "ExplanationOfBenefit.item.encounter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.noteNumber",
            "path": "ExplanationOfBenefit.item.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Adjudication"
              }
            ],
            "path": "ExplanationOfBenefit.item.adjudication",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication.id",
            "path": "ExplanationOfBenefit.item.adjudication.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication.extension",
            "path": "ExplanationOfBenefit.item.adjudication.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication.modifierExtension",
            "path": "ExplanationOfBenefit.item.adjudication.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication.category",
            "path": "ExplanationOfBenefit.item.adjudication.category",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Adjudication"
                }
              ],
              "strength": "example",
              "description": "The adjudication codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication.reason",
            "path": "ExplanationOfBenefit.item.adjudication.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdjudicationReason"
                }
              ],
              "strength": "example",
              "description": "Adjudication reason codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication-reason"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication.amount",
            "path": "ExplanationOfBenefit.item.adjudication.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication.value",
            "path": "ExplanationOfBenefit.item.adjudication.value",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Detail"
              }
            ],
            "path": "ExplanationOfBenefit.item.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.id",
            "path": "ExplanationOfBenefit.item.detail.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.extension",
            "path": "ExplanationOfBenefit.item.detail.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.modifierExtension",
            "path": "ExplanationOfBenefit.item.detail.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.item.detail.sequence",
            "path": "ExplanationOfBenefit.item.detail.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.type",
            "path": "ExplanationOfBenefit.item.detail.type",
            "comment": "ItemType.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ItemType"
                }
              ],
              "strength": "required",
              "description": "Service, Product, Rx Dispense, Rx Compound etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActInvoiceGroupCode"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.revenue",
            "path": "ExplanationOfBenefit.item.detail.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.category",
            "path": "ExplanationOfBenefit.item.detail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.service",
            "path": "ExplanationOfBenefit.item.detail.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.modifier",
            "path": "ExplanationOfBenefit.item.detail.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.programCode",
            "path": "ExplanationOfBenefit.item.detail.programCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProgramCode"
                }
              ],
              "strength": "example",
              "description": "Program specific reason codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-program-code"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.quantity",
            "path": "ExplanationOfBenefit.item.detail.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.unitPrice",
            "path": "ExplanationOfBenefit.item.detail.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.factor",
            "path": "ExplanationOfBenefit.item.detail.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.net",
            "path": "ExplanationOfBenefit.item.detail.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.udi",
            "path": "ExplanationOfBenefit.item.detail.udi",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.noteNumber",
            "path": "ExplanationOfBenefit.item.detail.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.adjudication",
            "path": "ExplanationOfBenefit.item.detail.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ExplanationOfBenefit.item.adjudication"
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SubDetail"
              }
            ],
            "path": "ExplanationOfBenefit.item.detail.subDetail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.id",
            "path": "ExplanationOfBenefit.item.detail.subDetail.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.extension",
            "path": "ExplanationOfBenefit.item.detail.subDetail.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.modifierExtension",
            "path": "ExplanationOfBenefit.item.detail.subDetail.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.sequence",
            "path": "ExplanationOfBenefit.item.detail.subDetail.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.type",
            "path": "ExplanationOfBenefit.item.detail.subDetail.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ItemType"
                }
              ],
              "strength": "required",
              "description": "Service, Product, Rx Dispense, Rx Compound etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActInvoiceGroupCode"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.revenue",
            "path": "ExplanationOfBenefit.item.detail.subDetail.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.category",
            "path": "ExplanationOfBenefit.item.detail.subDetail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.service",
            "path": "ExplanationOfBenefit.item.detail.subDetail.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.modifier",
            "path": "ExplanationOfBenefit.item.detail.subDetail.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.programCode",
            "path": "ExplanationOfBenefit.item.detail.subDetail.programCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProgramCode"
                }
              ],
              "strength": "example",
              "description": "Program specific reason codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-program-code"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.quantity",
            "path": "ExplanationOfBenefit.item.detail.subDetail.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.unitPrice",
            "path": "ExplanationOfBenefit.item.detail.subDetail.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.factor",
            "path": "ExplanationOfBenefit.item.detail.subDetail.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.net",
            "path": "ExplanationOfBenefit.item.detail.subDetail.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.udi",
            "path": "ExplanationOfBenefit.item.detail.subDetail.udi",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.noteNumber",
            "path": "ExplanationOfBenefit.item.detail.subDetail.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.adjudication",
            "path": "ExplanationOfBenefit.item.detail.subDetail.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ExplanationOfBenefit.item.adjudication"
          },
          {
            "id": "ExplanationOfBenefit.addItem",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "AddedItem"
              }
            ],
            "path": "ExplanationOfBenefit.addItem",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.id",
            "path": "ExplanationOfBenefit.addItem.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.extension",
            "path": "ExplanationOfBenefit.addItem.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.modifierExtension",
            "path": "ExplanationOfBenefit.addItem.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.addItem.sequenceLinkId",
            "path": "ExplanationOfBenefit.addItem.sequenceLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.revenue",
            "path": "ExplanationOfBenefit.addItem.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.category",
            "path": "ExplanationOfBenefit.addItem.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.service",
            "path": "ExplanationOfBenefit.addItem.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.modifier",
            "path": "ExplanationOfBenefit.addItem.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.fee",
            "path": "ExplanationOfBenefit.addItem.fee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.noteNumber",
            "path": "ExplanationOfBenefit.addItem.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.adjudication",
            "path": "ExplanationOfBenefit.addItem.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ExplanationOfBenefit.item.adjudication"
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "AddedItemsDetail"
              }
            ],
            "path": "ExplanationOfBenefit.addItem.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.id",
            "path": "ExplanationOfBenefit.addItem.detail.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.extension",
            "path": "ExplanationOfBenefit.addItem.detail.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.modifierExtension",
            "path": "ExplanationOfBenefit.addItem.detail.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.revenue",
            "path": "ExplanationOfBenefit.addItem.detail.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.category",
            "path": "ExplanationOfBenefit.addItem.detail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.service",
            "path": "ExplanationOfBenefit.addItem.detail.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.modifier",
            "path": "ExplanationOfBenefit.addItem.detail.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.fee",
            "path": "ExplanationOfBenefit.addItem.detail.fee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.noteNumber",
            "path": "ExplanationOfBenefit.addItem.detail.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.adjudication",
            "path": "ExplanationOfBenefit.addItem.detail.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ExplanationOfBenefit.item.adjudication"
          },
          {
            "id": "ExplanationOfBenefit.totalCost",
            "path": "ExplanationOfBenefit.totalCost",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.unallocDeductable",
            "path": "ExplanationOfBenefit.unallocDeductable",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.totalBenefit",
            "path": "ExplanationOfBenefit.totalBenefit",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payment",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Payment"
              }
            ],
            "path": "ExplanationOfBenefit.payment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payment.id",
            "path": "ExplanationOfBenefit.payment.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payment.extension",
            "path": "ExplanationOfBenefit.payment.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payment.modifierExtension",
            "path": "ExplanationOfBenefit.payment.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.payment.type",
            "path": "ExplanationOfBenefit.payment.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentType"
                }
              ],
              "strength": "example",
              "description": "The type (partial, complete) of the payment",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-paymenttype"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.payment.adjustment",
            "path": "ExplanationOfBenefit.payment.adjustment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payment.adjustmentReason",
            "path": "ExplanationOfBenefit.payment.adjustmentReason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentAdjustmentReason"
                }
              ],
              "strength": "example",
              "description": "Payment Adjustment reason codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payment-adjustment-reason"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.payment.date",
            "path": "ExplanationOfBenefit.payment.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payment.amount",
            "path": "ExplanationOfBenefit.payment.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payment.identifier",
            "path": "ExplanationOfBenefit.payment.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.form",
            "path": "ExplanationOfBenefit.form",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Forms"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The forms codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/forms"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.processNote",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Note"
              }
            ],
            "path": "ExplanationOfBenefit.processNote",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.processNote.id",
            "path": "ExplanationOfBenefit.processNote.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.processNote.extension",
            "path": "ExplanationOfBenefit.processNote.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.processNote.modifierExtension",
            "path": "ExplanationOfBenefit.processNote.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.processNote.number",
            "path": "ExplanationOfBenefit.processNote.number",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.processNote.type",
            "path": "ExplanationOfBenefit.processNote.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NoteType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The presentation types of notes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/note-type"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.processNote.text",
            "path": "ExplanationOfBenefit.processNote.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.processNote.language",
            "path": "ExplanationOfBenefit.processNote.language",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "BenefitBalance"
              }
            ],
            "path": "ExplanationOfBenefit.benefitBalance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.id",
            "path": "ExplanationOfBenefit.benefitBalance.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.extension",
            "path": "ExplanationOfBenefit.benefitBalance.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.modifierExtension",
            "path": "ExplanationOfBenefit.benefitBalance.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.category",
            "path": "ExplanationOfBenefit.benefitBalance.category",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit categories such as: oral, medical, vision etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-category"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.subCategory",
            "path": "ExplanationOfBenefit.benefitBalance.subCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.excluded",
            "path": "ExplanationOfBenefit.benefitBalance.excluded",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.name",
            "path": "ExplanationOfBenefit.benefitBalance.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.description",
            "path": "ExplanationOfBenefit.benefitBalance.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.network",
            "path": "ExplanationOfBenefit.benefitBalance.network",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitNetwork"
                }
              ],
              "strength": "example",
              "description": "Code to classify in or out of network services",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-network"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.unit",
            "path": "ExplanationOfBenefit.benefitBalance.unit",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitUnit"
                }
              ],
              "strength": "example",
              "description": "Unit covered/serviced - individual or family",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-unit"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.term",
            "path": "ExplanationOfBenefit.benefitBalance.term",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitTerm"
                }
              ],
              "strength": "example",
              "description": "Coverage unit - annual, lifetime",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-term"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.financial",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Benefit"
              }
            ],
            "path": "ExplanationOfBenefit.benefitBalance.financial",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.financial.id",
            "path": "ExplanationOfBenefit.benefitBalance.financial.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.financial.extension",
            "path": "ExplanationOfBenefit.benefitBalance.financial.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.financial.modifierExtension",
            "path": "ExplanationOfBenefit.benefitBalance.financial.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.financial.type",
            "path": "ExplanationOfBenefit.benefitBalance.financial.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitType"
                }
              ],
              "strength": "example",
              "description": "Deductable, visits, co-pay, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-type"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.financial.allowed[x]",
            "path": "ExplanationOfBenefit.benefitBalance.financial.allowed[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              },
              {
                "code": "string"
              },
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.financial.used[x]",
            "path": "ExplanationOfBenefit.benefitBalance.financial.used[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              },
              {
                "code": "Money"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ExplanationOfBenefit",
            "path": "ExplanationOfBenefit",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ExplanationOfBenefit.identifier",
            "path": "ExplanationOfBenefit.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.status",
            "path": "ExplanationOfBenefit.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ExplanationOfBenefitStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/explanationofbenefit-status"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.type",
            "path": "ExplanationOfBenefit.type",
            "comment": "Affects which fields and value sets are used.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimType"
                }
              ],
              "strength": "required",
              "description": "The type or discipline-style of the claim",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-type"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.subType",
            "path": "ExplanationOfBenefit.subType",
            "comment": "This may contain the local bill type codes such as the US UB-04 bill type code.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ClaimSubType"
                }
              ],
              "strength": "example",
              "description": "A more granulat claim typecode",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-subtype"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.patient",
            "path": "ExplanationOfBenefit.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.billablePeriod",
            "path": "ExplanationOfBenefit.billablePeriod",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.created",
            "path": "ExplanationOfBenefit.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.enterer",
            "path": "ExplanationOfBenefit.enterer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.insurer",
            "path": "ExplanationOfBenefit.insurer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.provider",
            "path": "ExplanationOfBenefit.provider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.organization",
            "path": "ExplanationOfBenefit.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.referral",
            "path": "ExplanationOfBenefit.referral",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.facility",
            "path": "ExplanationOfBenefit.facility",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.claim",
            "path": "ExplanationOfBenefit.claim",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Claim"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.claimResponse",
            "path": "ExplanationOfBenefit.claimResponse",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ClaimResponse"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.outcome",
            "path": "ExplanationOfBenefit.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RemittanceOutcome"
                }
              ],
              "strength": "example",
              "description": "The result of the claim processing",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/remittance-outcome"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.disposition",
            "path": "ExplanationOfBenefit.disposition",
            "comment": "Do we need a disposition code?",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.related",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "RelatedClaim"
              }
            ],
            "path": "ExplanationOfBenefit.related",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.related.claim",
            "path": "ExplanationOfBenefit.related.claim",
            "comment": "Do we need a relationship code?",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Claim"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.related.relationship",
            "path": "ExplanationOfBenefit.related.relationship",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RelatedClaimRelationship"
                }
              ],
              "strength": "example",
              "description": "Relationship of this claim to a related Claim",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/related-claim-relationship"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.related.reference",
            "path": "ExplanationOfBenefit.related.reference",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.prescription",
            "path": "ExplanationOfBenefit.prescription",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/VisionPrescription"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.originalPrescription",
            "path": "ExplanationOfBenefit.originalPrescription",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payee",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Payee"
              }
            ],
            "path": "ExplanationOfBenefit.payee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payee.type",
            "path": "ExplanationOfBenefit.payee.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PayeeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "A code for the party to be reimbursed.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payeetype"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.payee.resourceType",
            "path": "ExplanationOfBenefit.payee.resourceType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PayeeResourceType"
                }
              ],
              "strength": "required",
              "description": "The type of payee Resource",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-type-link"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.payee.party",
            "path": "ExplanationOfBenefit.payee.party",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.information",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SupportingInformation"
              }
            ],
            "path": "ExplanationOfBenefit.information",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.information.sequence",
            "path": "ExplanationOfBenefit.information.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.information.category",
            "path": "ExplanationOfBenefit.information.category",
            "comment": "This may contain the local bill type codes such as the US UB-04 bill type code.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InformationCategory"
                }
              ],
              "strength": "example",
              "description": "The valuset used for additional information category codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-informationcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.information.code",
            "path": "ExplanationOfBenefit.information.code",
            "comment": "This may contain the local bill type codes such as the US UB-04 bill type code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InformationCode"
                }
              ],
              "strength": "example",
              "description": "The valuset used for additional information codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-exception"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.information.timing[x]",
            "path": "ExplanationOfBenefit.information.timing[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.information.value[x]",
            "path": "ExplanationOfBenefit.information.value[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.information.reason",
            "path": "ExplanationOfBenefit.information.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MissingReason"
                }
              ],
              "strength": "example",
              "description": "Reason codes for the missing teeth",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/missing-tooth-reason"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.careTeam",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "CareTeam"
              }
            ],
            "path": "ExplanationOfBenefit.careTeam",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.careTeam.sequence",
            "path": "ExplanationOfBenefit.careTeam.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.careTeam.provider",
            "path": "ExplanationOfBenefit.careTeam.provider",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.careTeam.responsible",
            "path": "ExplanationOfBenefit.careTeam.responsible",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.careTeam.role",
            "path": "ExplanationOfBenefit.careTeam.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CareTeamRole"
                }
              ],
              "strength": "example",
              "description": "The role codes for the care team members.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-careteamrole"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.careTeam.qualification",
            "path": "ExplanationOfBenefit.careTeam.qualification",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProviderQualification"
                }
              ],
              "strength": "example",
              "description": "Provider professional qualifications",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/provider-qualification"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.diagnosis",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Diagnosis"
              }
            ],
            "path": "ExplanationOfBenefit.diagnosis",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.diagnosis.sequence",
            "path": "ExplanationOfBenefit.diagnosis.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.diagnosis.diagnosis[x]",
            "path": "ExplanationOfBenefit.diagnosis.diagnosis[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ICD10"
                }
              ],
              "strength": "example",
              "description": "ICD10 Diagnostic codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/icd-10"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.diagnosis.type",
            "path": "ExplanationOfBenefit.diagnosis.type",
            "comment": "Diagnosis are presented in list order to their expected importance: primary, secondary, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosisType"
                }
              ],
              "strength": "example",
              "description": "The type of the diagnosis: admitting, principal, discharge",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-diagnosistype"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.diagnosis.packageCode",
            "path": "ExplanationOfBenefit.diagnosis.packageCode",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DiagnosisRelatedGroup"
                }
              ],
              "strength": "example",
              "description": "The DRG codes associated with the diagnosis",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-diagnosisrelatedgroup"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.procedure",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Procedure"
              }
            ],
            "path": "ExplanationOfBenefit.procedure",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.procedure.sequence",
            "path": "ExplanationOfBenefit.procedure.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.procedure.date",
            "path": "ExplanationOfBenefit.procedure.date",
            "comment": "SB DateTime??",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.procedure.procedure[x]",
            "path": "ExplanationOfBenefit.procedure.procedure[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ICD10_Procedures"
                }
              ],
              "strength": "example",
              "description": "ICD10 Procedure codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/icd-10-procedures"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.precedence",
            "path": "ExplanationOfBenefit.precedence",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.insurance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Insurance"
              }
            ],
            "path": "ExplanationOfBenefit.insurance",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.insurance.coverage",
            "path": "ExplanationOfBenefit.insurance.coverage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Coverage"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.insurance.preAuthRef",
            "path": "ExplanationOfBenefit.insurance.preAuthRef",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.accident",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Accident"
              }
            ],
            "path": "ExplanationOfBenefit.accident",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.accident.date",
            "path": "ExplanationOfBenefit.accident.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.accident.type",
            "path": "ExplanationOfBenefit.accident.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AccidentType"
                }
              ],
              "strength": "required",
              "description": "Type of accident: work place, auto, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActIncidentCode"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.accident.location[x]",
            "path": "ExplanationOfBenefit.accident.location[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Address"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.employmentImpacted",
            "path": "ExplanationOfBenefit.employmentImpacted",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.hospitalization",
            "path": "ExplanationOfBenefit.hospitalization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Item"
              }
            ],
            "path": "ExplanationOfBenefit.item",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.sequence",
            "path": "ExplanationOfBenefit.item.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.careTeamLinkId",
            "path": "ExplanationOfBenefit.item.careTeamLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.diagnosisLinkId",
            "path": "ExplanationOfBenefit.item.diagnosisLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.procedureLinkId",
            "path": "ExplanationOfBenefit.item.procedureLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.informationLinkId",
            "path": "ExplanationOfBenefit.item.informationLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.revenue",
            "path": "ExplanationOfBenefit.item.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.category",
            "path": "ExplanationOfBenefit.item.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.service",
            "path": "ExplanationOfBenefit.item.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.modifier",
            "path": "ExplanationOfBenefit.item.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.programCode",
            "path": "ExplanationOfBenefit.item.programCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProgramCode"
                }
              ],
              "strength": "example",
              "description": "Program specific reason codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-program-code"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.serviced[x]",
            "path": "ExplanationOfBenefit.item.serviced[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.location[x]",
            "path": "ExplanationOfBenefit.item.location[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Address"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServicePlace"
                }
              ],
              "strength": "example",
              "description": "Place where the service is rendered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-place"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.quantity",
            "path": "ExplanationOfBenefit.item.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.unitPrice",
            "path": "ExplanationOfBenefit.item.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.factor",
            "path": "ExplanationOfBenefit.item.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.net",
            "path": "ExplanationOfBenefit.item.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.udi",
            "path": "ExplanationOfBenefit.item.udi",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.bodySite",
            "path": "ExplanationOfBenefit.item.bodySite",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OralSites"
                }
              ],
              "strength": "example",
              "description": "The code for the teeth, quadrant, sextant and arch",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/tooth"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.subSite",
            "path": "ExplanationOfBenefit.item.subSite",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Surface"
                }
              ],
              "strength": "example",
              "description": "The code for the tooth surface and surface combinations",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/surface"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.encounter",
            "path": "ExplanationOfBenefit.item.encounter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.noteNumber",
            "path": "ExplanationOfBenefit.item.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Adjudication"
              }
            ],
            "path": "ExplanationOfBenefit.item.adjudication",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication.category",
            "path": "ExplanationOfBenefit.item.adjudication.category",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Adjudication"
                }
              ],
              "strength": "example",
              "description": "The adjudication codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication.reason",
            "path": "ExplanationOfBenefit.item.adjudication.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdjudicationReason"
                }
              ],
              "strength": "example",
              "description": "Adjudication reason codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication-reason"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication.amount",
            "path": "ExplanationOfBenefit.item.adjudication.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.adjudication.value",
            "path": "ExplanationOfBenefit.item.adjudication.value",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Detail"
              }
            ],
            "path": "ExplanationOfBenefit.item.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.sequence",
            "path": "ExplanationOfBenefit.item.detail.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.type",
            "path": "ExplanationOfBenefit.item.detail.type",
            "comment": "ItemType.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ItemType"
                }
              ],
              "strength": "required",
              "description": "Service, Product, Rx Dispense, Rx Compound etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActInvoiceGroupCode"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.revenue",
            "path": "ExplanationOfBenefit.item.detail.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.category",
            "path": "ExplanationOfBenefit.item.detail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.service",
            "path": "ExplanationOfBenefit.item.detail.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.modifier",
            "path": "ExplanationOfBenefit.item.detail.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.programCode",
            "path": "ExplanationOfBenefit.item.detail.programCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProgramCode"
                }
              ],
              "strength": "example",
              "description": "Program specific reason codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-program-code"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.quantity",
            "path": "ExplanationOfBenefit.item.detail.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.unitPrice",
            "path": "ExplanationOfBenefit.item.detail.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.factor",
            "path": "ExplanationOfBenefit.item.detail.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.net",
            "path": "ExplanationOfBenefit.item.detail.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.udi",
            "path": "ExplanationOfBenefit.item.detail.udi",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.noteNumber",
            "path": "ExplanationOfBenefit.item.detail.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.adjudication",
            "path": "ExplanationOfBenefit.item.detail.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ExplanationOfBenefit.item.adjudication"
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SubDetail"
              }
            ],
            "path": "ExplanationOfBenefit.item.detail.subDetail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.sequence",
            "path": "ExplanationOfBenefit.item.detail.subDetail.sequence",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.type",
            "path": "ExplanationOfBenefit.item.detail.subDetail.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ItemType"
                }
              ],
              "strength": "required",
              "description": "Service, Product, Rx Dispense, Rx Compound etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActInvoiceGroupCode"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.revenue",
            "path": "ExplanationOfBenefit.item.detail.subDetail.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.category",
            "path": "ExplanationOfBenefit.item.detail.subDetail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.service",
            "path": "ExplanationOfBenefit.item.detail.subDetail.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.modifier",
            "path": "ExplanationOfBenefit.item.detail.subDetail.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.programCode",
            "path": "ExplanationOfBenefit.item.detail.subDetail.programCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProgramCode"
                }
              ],
              "strength": "example",
              "description": "Program specific reason codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-program-code"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.quantity",
            "path": "ExplanationOfBenefit.item.detail.subDetail.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.unitPrice",
            "path": "ExplanationOfBenefit.item.detail.subDetail.unitPrice",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.factor",
            "path": "ExplanationOfBenefit.item.detail.subDetail.factor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.net",
            "path": "ExplanationOfBenefit.item.detail.subDetail.net",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.udi",
            "path": "ExplanationOfBenefit.item.detail.subDetail.udi",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.noteNumber",
            "path": "ExplanationOfBenefit.item.detail.subDetail.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.item.detail.subDetail.adjudication",
            "path": "ExplanationOfBenefit.item.detail.subDetail.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ExplanationOfBenefit.item.adjudication"
          },
          {
            "id": "ExplanationOfBenefit.addItem",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "AddedItem"
              }
            ],
            "path": "ExplanationOfBenefit.addItem",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.sequenceLinkId",
            "path": "ExplanationOfBenefit.addItem.sequenceLinkId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.revenue",
            "path": "ExplanationOfBenefit.addItem.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.category",
            "path": "ExplanationOfBenefit.addItem.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.service",
            "path": "ExplanationOfBenefit.addItem.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.modifier",
            "path": "ExplanationOfBenefit.addItem.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.fee",
            "path": "ExplanationOfBenefit.addItem.fee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.noteNumber",
            "path": "ExplanationOfBenefit.addItem.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.adjudication",
            "path": "ExplanationOfBenefit.addItem.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ExplanationOfBenefit.item.adjudication"
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "AddedItemsDetail"
              }
            ],
            "path": "ExplanationOfBenefit.addItem.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.revenue",
            "path": "ExplanationOfBenefit.addItem.detail.revenue",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RevenueCenter"
                }
              ],
              "strength": "example",
              "description": "Codes for the revenue or cost centers supplying the service and/or products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-revenue-center"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.category",
            "path": "ExplanationOfBenefit.addItem.detail.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.service",
            "path": "ExplanationOfBenefit.addItem.detail.service",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProduct"
                }
              ],
              "strength": "example",
              "description": "Allowable service and product codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-uscls"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.modifier",
            "path": "ExplanationOfBenefit.addItem.detail.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Modifiers"
                }
              ],
              "strength": "example",
              "description": "Item type or modifiers codes, eg for Oral whether the treatment is cosmetic or associated with TMJ, or an appliance was lost or stolen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/claim-modifiers"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.fee",
            "path": "ExplanationOfBenefit.addItem.detail.fee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.noteNumber",
            "path": "ExplanationOfBenefit.addItem.detail.noteNumber",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.addItem.detail.adjudication",
            "path": "ExplanationOfBenefit.addItem.detail.adjudication",
            "min": 0,
            "max": "*",
            "contentReference": "#ExplanationOfBenefit.item.adjudication"
          },
          {
            "id": "ExplanationOfBenefit.totalCost",
            "path": "ExplanationOfBenefit.totalCost",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.unallocDeductable",
            "path": "ExplanationOfBenefit.unallocDeductable",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.totalBenefit",
            "path": "ExplanationOfBenefit.totalBenefit",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payment",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Payment"
              }
            ],
            "path": "ExplanationOfBenefit.payment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payment.type",
            "path": "ExplanationOfBenefit.payment.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentType"
                }
              ],
              "strength": "example",
              "description": "The type (partial, complete) of the payment",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/ex-paymenttype"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.payment.adjustment",
            "path": "ExplanationOfBenefit.payment.adjustment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payment.adjustmentReason",
            "path": "ExplanationOfBenefit.payment.adjustmentReason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentAdjustmentReason"
                }
              ],
              "strength": "example",
              "description": "Payment Adjustment reason codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payment-adjustment-reason"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.payment.date",
            "path": "ExplanationOfBenefit.payment.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payment.amount",
            "path": "ExplanationOfBenefit.payment.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.payment.identifier",
            "path": "ExplanationOfBenefit.payment.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.form",
            "path": "ExplanationOfBenefit.form",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Forms"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The forms codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/forms"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.processNote",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Note"
              }
            ],
            "path": "ExplanationOfBenefit.processNote",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.processNote.number",
            "path": "ExplanationOfBenefit.processNote.number",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.processNote.type",
            "path": "ExplanationOfBenefit.processNote.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NoteType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The presentation types of notes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/note-type"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.processNote.text",
            "path": "ExplanationOfBenefit.processNote.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.processNote.language",
            "path": "ExplanationOfBenefit.processNote.language",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "BenefitBalance"
              }
            ],
            "path": "ExplanationOfBenefit.benefitBalance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.category",
            "path": "ExplanationOfBenefit.benefitBalance.category",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit categories such as: oral, medical, vision etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-category"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.subCategory",
            "path": "ExplanationOfBenefit.benefitBalance.subCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitSubCategory"
                }
              ],
              "strength": "example",
              "description": "Benefit subcategories such as: oral-basic, major, glasses",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-subcategory"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.excluded",
            "path": "ExplanationOfBenefit.benefitBalance.excluded",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.name",
            "path": "ExplanationOfBenefit.benefitBalance.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.description",
            "path": "ExplanationOfBenefit.benefitBalance.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.network",
            "path": "ExplanationOfBenefit.benefitBalance.network",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitNetwork"
                }
              ],
              "strength": "example",
              "description": "Code to classify in or out of network services",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-network"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.unit",
            "path": "ExplanationOfBenefit.benefitBalance.unit",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitUnit"
                }
              ],
              "strength": "example",
              "description": "Unit covered/serviced - individual or family",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-unit"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.term",
            "path": "ExplanationOfBenefit.benefitBalance.term",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitTerm"
                }
              ],
              "strength": "example",
              "description": "Coverage unit - annual, lifetime",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-term"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.financial",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Benefit"
              }
            ],
            "path": "ExplanationOfBenefit.benefitBalance.financial",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.financial.type",
            "path": "ExplanationOfBenefit.benefitBalance.financial.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BenefitType"
                }
              ],
              "strength": "example",
              "description": "Deductable, visits, co-pay, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/benefit-type"
              }
            }
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.financial.allowed[x]",
            "path": "ExplanationOfBenefit.benefitBalance.financial.allowed[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              },
              {
                "code": "string"
              },
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "ExplanationOfBenefit.benefitBalance.financial.used[x]",
            "path": "ExplanationOfBenefit.benefitBalance.financial.used[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              },
              {
                "code": "Money"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "FamilyMemberHistory",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/FamilyMemberHistory",
      "name": "FamilyMemberHistory",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "FamilyMemberHistory",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "FamilyMemberHistory",
            "path": "FamilyMemberHistory",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "fhs-2",
                "severity": "error",
                "human": "Can only have estimatedAge if age[x] is present",
                "expression": "age.exists() or estimatedAge.empty()",
                "xpath": "exists(*[starts-with(local-name(.), 'age')]) or not(exists(f:estimatedAge))"
              },
              {
                "key": "fhs-3",
                "severity": "error",
                "human": "Not Done Reason can only be specified if NotDone is \"true\"",
                "expression": "notDone or notDoneReason.exists().not()",
                "xpath": "f:notDone/@value=true() or not(exists(f:notDoneReason))"
              },
              {
                "key": "fhs-1",
                "severity": "error",
                "human": "Can have age[x] or born[x], but not both",
                "expression": "age.empty() or born.empty()",
                "xpath": "not (*[starts-with(local-name(.), 'age')] and *[starts-with(local-name(.), 'birth')])"
              }
            ]
          },
          {
            "id": "FamilyMemberHistory.id",
            "path": "FamilyMemberHistory.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.meta",
            "path": "FamilyMemberHistory.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.implicitRules",
            "path": "FamilyMemberHistory.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.language",
            "path": "FamilyMemberHistory.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.text",
            "path": "FamilyMemberHistory.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "FamilyMemberHistory.contained",
            "path": "FamilyMemberHistory.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "FamilyMemberHistory.extension",
            "path": "FamilyMemberHistory.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "FamilyMemberHistory.modifierExtension",
            "path": "FamilyMemberHistory.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "FamilyMemberHistory.identifier",
            "path": "FamilyMemberHistory.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.definition",
            "path": "FamilyMemberHistory.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Questionnaire"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.status",
            "path": "FamilyMemberHistory.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FamilyHistoryStatus"
                }
              ],
              "strength": "required",
              "description": "A code that identifies the status of the family history record.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/history-status"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.notDone",
            "path": "FamilyMemberHistory.notDone",
            "comment": "This element is labeled as a modifier because it marks the family member history as a family member history that did not occur.  The more attributes are populated, the more constrained the negated statement is.  This notDone element is being evaluated and will likely be removed in a subsequent release.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.notDoneReason",
            "path": "FamilyMemberHistory.notDoneReason",
            "comment": "This notDoneReason element is being evaluated and will likely be replaced in a subsequent release (e.g. dataAbsentReason).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "fhs-3"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FamilyHistoryNotDoneReason"
                }
              ],
              "strength": "example",
              "description": "Codes describing the reason why a family member history was not done.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/history-not-done-reason"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.patient",
            "path": "FamilyMemberHistory.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.date",
            "path": "FamilyMemberHistory.date",
            "comment": "This should be captured even if the same as the date on the List aggregating the full family history.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.name",
            "path": "FamilyMemberHistory.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.relationship",
            "path": "FamilyMemberHistory.relationship",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FamilialRelationship"
                }
              ],
              "strength": "example",
              "description": "The nature of the relationship between the patient and the related person being described in the family member history.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-FamilyMember"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.gender",
            "path": "FamilyMemberHistory.gender",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdministrativeGender"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The gender of a person used for administrative purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.born[x]",
            "path": "FamilyMemberHistory.born[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              },
              {
                "code": "date"
              },
              {
                "code": "string"
              }
            ],
            "condition": [
              "fhs-1"
            ]
          },
          {
            "id": "FamilyMemberHistory.age[x]",
            "path": "FamilyMemberHistory.age[x]",
            "comment": "use estimatedAge to indicate whether the age is actual or not.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Age"
              },
              {
                "code": "Range"
              },
              {
                "code": "string"
              }
            ],
            "condition": [
              "fhs-1"
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.estimatedAge",
            "path": "FamilyMemberHistory.estimatedAge",
            "comment": "This element is labeled as a modifier because the fact tha age is estimated can/should change the results of any algorithm that calculates based on the specified age.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "meaningWhenMissing": "It is unknown whether the age is an estimate or not",
            "condition": [
              "fhs-2"
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.deceased[x]",
            "path": "FamilyMemberHistory.deceased[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "Age"
              },
              {
                "code": "Range"
              },
              {
                "code": "date"
              },
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.reasonCode",
            "path": "FamilyMemberHistory.reasonCode",
            "comment": "Textual reasons can be caprued using reasonCode.text.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FamilyHistoryReason"
                }
              ],
              "strength": "example",
              "description": "Codes indicating why the family member history was done.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.reasonReference",
            "path": "FamilyMemberHistory.reasonReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.note",
            "path": "FamilyMemberHistory.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "FamilyMemberHistory.condition",
            "path": "FamilyMemberHistory.condition",
            "comment": "If none of the conditions listed have an outcome of \"death\" specified, that indicates that none of the specified conditions are known to have been the primary cause of death.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "FamilyMemberHistory.condition.id",
            "path": "FamilyMemberHistory.condition.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "FamilyMemberHistory.condition.extension",
            "path": "FamilyMemberHistory.condition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "FamilyMemberHistory.condition.modifierExtension",
            "path": "FamilyMemberHistory.condition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.condition.code",
            "path": "FamilyMemberHistory.condition.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionCode"
                }
              ],
              "strength": "example",
              "description": "Identification of the Condition or diagnosis.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.condition.outcome",
            "path": "FamilyMemberHistory.condition.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionOutcome"
                }
              ],
              "strength": "example",
              "description": "The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-outcome"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.condition.onset[x]",
            "path": "FamilyMemberHistory.condition.onset[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Age"
              },
              {
                "code": "Range"
              },
              {
                "code": "Period"
              },
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "FamilyMemberHistory.condition.note",
            "path": "FamilyMemberHistory.condition.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "FamilyMemberHistory",
            "path": "FamilyMemberHistory",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "fhs-2",
                "severity": "error",
                "human": "Can only have estimatedAge if age[x] is present",
                "expression": "age.exists() or estimatedAge.empty()",
                "xpath": "exists(*[starts-with(local-name(.), 'age')]) or not(exists(f:estimatedAge))"
              },
              {
                "key": "fhs-3",
                "severity": "error",
                "human": "Not Done Reason can only be specified if NotDone is \"true\"",
                "expression": "notDone or notDoneReason.exists().not()",
                "xpath": "f:notDone/@value=true() or not(exists(f:notDoneReason))"
              },
              {
                "key": "fhs-1",
                "severity": "error",
                "human": "Can have age[x] or born[x], but not both",
                "expression": "age.empty() or born.empty()",
                "xpath": "not (*[starts-with(local-name(.), 'age')] and *[starts-with(local-name(.), 'birth')])"
              }
            ]
          },
          {
            "id": "FamilyMemberHistory.identifier",
            "path": "FamilyMemberHistory.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.definition",
            "path": "FamilyMemberHistory.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Questionnaire"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.status",
            "path": "FamilyMemberHistory.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FamilyHistoryStatus"
                }
              ],
              "strength": "required",
              "description": "A code that identifies the status of the family history record.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/history-status"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.notDone",
            "path": "FamilyMemberHistory.notDone",
            "comment": "This element is labeled as a modifier because it marks the family member history as a family member history that did not occur.  The more attributes are populated, the more constrained the negated statement is.  This notDone element is being evaluated and will likely be removed in a subsequent release.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.notDoneReason",
            "path": "FamilyMemberHistory.notDoneReason",
            "comment": "This notDoneReason element is being evaluated and will likely be replaced in a subsequent release (e.g. dataAbsentReason).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "fhs-3"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FamilyHistoryNotDoneReason"
                }
              ],
              "strength": "example",
              "description": "Codes describing the reason why a family member history was not done.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/history-not-done-reason"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.patient",
            "path": "FamilyMemberHistory.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.date",
            "path": "FamilyMemberHistory.date",
            "comment": "This should be captured even if the same as the date on the List aggregating the full family history.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.name",
            "path": "FamilyMemberHistory.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.relationship",
            "path": "FamilyMemberHistory.relationship",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FamilialRelationship"
                }
              ],
              "strength": "example",
              "description": "The nature of the relationship between the patient and the related person being described in the family member history.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-FamilyMember"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.gender",
            "path": "FamilyMemberHistory.gender",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdministrativeGender"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The gender of a person used for administrative purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.born[x]",
            "path": "FamilyMemberHistory.born[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              },
              {
                "code": "date"
              },
              {
                "code": "string"
              }
            ],
            "condition": [
              "fhs-1"
            ]
          },
          {
            "id": "FamilyMemberHistory.age[x]",
            "path": "FamilyMemberHistory.age[x]",
            "comment": "use estimatedAge to indicate whether the age is actual or not.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Age"
              },
              {
                "code": "Range"
              },
              {
                "code": "string"
              }
            ],
            "condition": [
              "fhs-1"
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.estimatedAge",
            "path": "FamilyMemberHistory.estimatedAge",
            "comment": "This element is labeled as a modifier because the fact tha age is estimated can/should change the results of any algorithm that calculates based on the specified age.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "meaningWhenMissing": "It is unknown whether the age is an estimate or not",
            "condition": [
              "fhs-2"
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.deceased[x]",
            "path": "FamilyMemberHistory.deceased[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "Age"
              },
              {
                "code": "Range"
              },
              {
                "code": "date"
              },
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.reasonCode",
            "path": "FamilyMemberHistory.reasonCode",
            "comment": "Textual reasons can be caprued using reasonCode.text.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FamilyHistoryReason"
                }
              ],
              "strength": "example",
              "description": "Codes indicating why the family member history was done.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.reasonReference",
            "path": "FamilyMemberHistory.reasonReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              }
            ],
            "isSummary": true
          },
          {
            "id": "FamilyMemberHistory.note",
            "path": "FamilyMemberHistory.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "FamilyMemberHistory.condition",
            "path": "FamilyMemberHistory.condition",
            "comment": "If none of the conditions listed have an outcome of \"death\" specified, that indicates that none of the specified conditions are known to have been the primary cause of death.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "FamilyMemberHistory.condition.code",
            "path": "FamilyMemberHistory.condition.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionCode"
                }
              ],
              "strength": "example",
              "description": "Identification of the Condition or diagnosis.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.condition.outcome",
            "path": "FamilyMemberHistory.condition.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConditionOutcome"
                }
              ],
              "strength": "example",
              "description": "The result of the condition for the patient; e.g. death, permanent disability, temporary disability, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-outcome"
              }
            }
          },
          {
            "id": "FamilyMemberHistory.condition.onset[x]",
            "path": "FamilyMemberHistory.condition.onset[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Age"
              },
              {
                "code": "Range"
              },
              {
                "code": "Period"
              },
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "FamilyMemberHistory.condition.note",
            "path": "FamilyMemberHistory.condition.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Flag",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Flag",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Flag",
      "name": "Flag",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Flag",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Flag",
            "path": "Flag",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Flag.id",
            "path": "Flag.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Flag.meta",
            "path": "Flag.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Flag.implicitRules",
            "path": "Flag.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Flag.language",
            "path": "Flag.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Flag.text",
            "path": "Flag.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Flag.contained",
            "path": "Flag.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Flag.extension",
            "path": "Flag.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Flag.modifierExtension",
            "path": "Flag.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Flag.identifier",
            "path": "Flag.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Flag.status",
            "path": "Flag.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FlagStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates whether this flag is active and needs to be displayed to a user, or whether it is no longer needed or entered in error.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/flag-status"
              }
            }
          },
          {
            "id": "Flag.category",
            "path": "Flag.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FlagCategory"
                }
              ],
              "strength": "example",
              "description": "A general category for flags for filtering/display purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/flag-category"
              }
            }
          },
          {
            "id": "Flag.code",
            "path": "Flag.code",
            "comment": "If non coded, use CodeableConcept.text.  This element should always be included in the narrative.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FlagCode"
                }
              ],
              "strength": "example",
              "description": "Detail codes identifying specific flagged issues.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/flag-code"
              }
            }
          },
          {
            "id": "Flag.subject",
            "path": "Flag.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Flag.period",
            "path": "Flag.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Flag.encounter",
            "path": "Flag.encounter",
            "comment": "If both Flag.encounter and Flag.period are valued, then Flag.period.start shall not be before Encounter.period.start and Flag.period.end shall not be after Encounter.period.end.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Flag.author",
            "path": "Flag.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Flag",
            "path": "Flag",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Flag.identifier",
            "path": "Flag.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Flag.status",
            "path": "Flag.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FlagStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates whether this flag is active and needs to be displayed to a user, or whether it is no longer needed or entered in error.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/flag-status"
              }
            }
          },
          {
            "id": "Flag.category",
            "path": "Flag.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FlagCategory"
                }
              ],
              "strength": "example",
              "description": "A general category for flags for filtering/display purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/flag-category"
              }
            }
          },
          {
            "id": "Flag.code",
            "path": "Flag.code",
            "comment": "If non coded, use CodeableConcept.text.  This element should always be included in the narrative.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FlagCode"
                }
              ],
              "strength": "example",
              "description": "Detail codes identifying specific flagged issues.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/flag-code"
              }
            }
          },
          {
            "id": "Flag.subject",
            "path": "Flag.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Flag.period",
            "path": "Flag.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Flag.encounter",
            "path": "Flag.encounter",
            "comment": "If both Flag.encounter and Flag.period are valued, then Flag.period.start shall not be before Encounter.period.start and Flag.period.end shall not be after Encounter.period.end.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Flag.author",
            "path": "Flag.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Goal",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Goal",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Goal",
      "name": "Goal",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Goal",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Goal",
            "path": "Goal",
            "comment": "Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Goal.id",
            "path": "Goal.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Goal.meta",
            "path": "Goal.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Goal.implicitRules",
            "path": "Goal.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Goal.language",
            "path": "Goal.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Goal.text",
            "path": "Goal.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Goal.contained",
            "path": "Goal.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Goal.extension",
            "path": "Goal.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Goal.modifierExtension",
            "path": "Goal.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Goal.identifier",
            "path": "Goal.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Goal.status",
            "path": "Goal.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates whether the goal has been met and is still being targeted",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-status"
              }
            }
          },
          {
            "id": "Goal.category",
            "path": "Goal.category",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalCategory"
                }
              ],
              "strength": "example",
              "description": "Codes for grouping and sorting goals",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-category"
              }
            }
          },
          {
            "id": "Goal.priority",
            "path": "Goal.priority",
            "comment": "Extensions are available to track priorities as established by each participant (i.e. Priority from the patient's perspective, different practitioners' perspectives, family member's perspectives)\r\rThe ordinal extension on Coding can be used to convey a numerically comparable ranking to priority.  (Keep in mind that different coding systems may use a \"low value=important\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalPriority"
                }
              ],
              "strength": "preferred",
              "description": "The level of importance associated with a goal",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-priority"
              }
            }
          },
          {
            "id": "Goal.description",
            "path": "Goal.description",
            "comment": "If no code is available, use CodeableConcept.text.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalDescription"
                }
              ],
              "strength": "example",
              "description": "Codes providing the details of a particular goal.  This will generally be system or implementation guide-specific.  In many systems, only the text element will be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "Goal.subject",
            "path": "Goal.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Goal.start[x]",
            "path": "Goal.start[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalStartEvent"
                }
              ],
              "strength": "example",
              "description": "Codes describing events that can trigger the initiation of a goal",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-start-event"
              }
            }
          },
          {
            "id": "Goal.target",
            "path": "Goal.target",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "gol-1"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "gol-1",
                "severity": "error",
                "human": "Goal.target.measure is required if Goal.target.detail is populated",
                "expression": "(detail.exists() and measure.exists()) or detail.exists().not()",
                "xpath": "(exists(f:*[starts-with(local-name(.), 'detail')]) and exists(f:measure)) or not(exists(f:*[starts-with(local-name(.), 'detail')]))"
              }
            ]
          },
          {
            "id": "Goal.target.id",
            "path": "Goal.target.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Goal.target.extension",
            "path": "Goal.target.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Goal.target.modifierExtension",
            "path": "Goal.target.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Goal.target.measure",
            "path": "Goal.target.measure",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "gol-1"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalTargetMeasure"
                }
              ],
              "strength": "example",
              "description": "Codes to identify the value being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
              }
            }
          },
          {
            "id": "Goal.target.detail[x]",
            "path": "Goal.target.detail[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              },
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "gol-1"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalTargetDetail"
                }
              ],
              "strength": "example",
              "description": "Codes to identify the target value of the focus to be achieved to signify the fulfillment of the goal."
            }
          },
          {
            "id": "Goal.target.due[x]",
            "path": "Goal.target.due[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "Duration"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Goal.statusDate",
            "path": "Goal.statusDate",
            "comment": "To see the date for past statuses, query history.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Goal.statusReason",
            "path": "Goal.statusReason",
            "comment": "This will typically be captured for statuses such as rejected, on-hold or cancelled, but could be present for others.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Goal.expressedBy",
            "path": "Goal.expressedBy",
            "comment": "This is the individual reponsible for establishing the goal, not necessarily who recorded it.  (For that, use the Provenance resource.).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Goal.addresses",
            "path": "Goal.addresses",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationStatement"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RiskAssessment"
              }
            ]
          },
          {
            "id": "Goal.note",
            "path": "Goal.note",
            "comment": "May be used for progress notes, concerns or other related information that doesn't actually describe the goal itself.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "Goal.outcomeCode",
            "path": "Goal.outcomeCode",
            "comment": "Note that this should not duplicate the goal status.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalOutcome"
                }
              ],
              "strength": "example",
              "description": "The result of the goal; e.g. \"25% increase in shoulder mobility\", \"Anxiety reduced to moderate levels\".  \"15 kg weight loss sustained over 6 months\"",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "Goal.outcomeReference",
            "path": "Goal.outcomeReference",
            "comment": "The goal outcome is independent of the outcome of the related activities.  For example, if the Goal is to achieve a target body weight of 150 lb and a care plan activity is defined to diet, then the care plan’s activity outcome could be calories consumed whereas goal outcome is an observation for the actual body weight measured.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Goal",
            "path": "Goal",
            "comment": "Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Goal.identifier",
            "path": "Goal.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Goal.status",
            "path": "Goal.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates whether the goal has been met and is still being targeted",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-status"
              }
            }
          },
          {
            "id": "Goal.category",
            "path": "Goal.category",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalCategory"
                }
              ],
              "strength": "example",
              "description": "Codes for grouping and sorting goals",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-category"
              }
            }
          },
          {
            "id": "Goal.priority",
            "path": "Goal.priority",
            "comment": "Extensions are available to track priorities as established by each participant (i.e. Priority from the patient's perspective, different practitioners' perspectives, family member's perspectives)\r\rThe ordinal extension on Coding can be used to convey a numerically comparable ranking to priority.  (Keep in mind that different coding systems may use a \"low value=important\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalPriority"
                }
              ],
              "strength": "preferred",
              "description": "The level of importance associated with a goal",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-priority"
              }
            }
          },
          {
            "id": "Goal.description",
            "path": "Goal.description",
            "comment": "If no code is available, use CodeableConcept.text.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalDescription"
                }
              ],
              "strength": "example",
              "description": "Codes providing the details of a particular goal.  This will generally be system or implementation guide-specific.  In many systems, only the text element will be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "Goal.subject",
            "path": "Goal.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Goal.start[x]",
            "path": "Goal.start[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalStartEvent"
                }
              ],
              "strength": "example",
              "description": "Codes describing events that can trigger the initiation of a goal",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-start-event"
              }
            }
          },
          {
            "id": "Goal.target",
            "path": "Goal.target",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "gol-1"
            ],
            "constraint": [
              {
                "key": "gol-1",
                "severity": "error",
                "human": "Goal.target.measure is required if Goal.target.detail is populated",
                "expression": "(detail.exists() and measure.exists()) or detail.exists().not()",
                "xpath": "(exists(f:*[starts-with(local-name(.), 'detail')]) and exists(f:measure)) or not(exists(f:*[starts-with(local-name(.), 'detail')]))"
              }
            ]
          },
          {
            "id": "Goal.target.measure",
            "path": "Goal.target.measure",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "gol-1"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalTargetMeasure"
                }
              ],
              "strength": "example",
              "description": "Codes to identify the value being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
              }
            }
          },
          {
            "id": "Goal.target.detail[x]",
            "path": "Goal.target.detail[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              },
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "gol-1"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalTargetDetail"
                }
              ],
              "strength": "example",
              "description": "Codes to identify the target value of the focus to be achieved to signify the fulfillment of the goal."
            }
          },
          {
            "id": "Goal.target.due[x]",
            "path": "Goal.target.due[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              },
              {
                "code": "Duration"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Goal.statusDate",
            "path": "Goal.statusDate",
            "comment": "To see the date for past statuses, query history.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Goal.statusReason",
            "path": "Goal.statusReason",
            "comment": "This will typically be captured for statuses such as rejected, on-hold or cancelled, but could be present for others.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Goal.expressedBy",
            "path": "Goal.expressedBy",
            "comment": "This is the individual reponsible for establishing the goal, not necessarily who recorded it.  (For that, use the Provenance resource.).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Goal.addresses",
            "path": "Goal.addresses",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationStatement"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RiskAssessment"
              }
            ]
          },
          {
            "id": "Goal.note",
            "path": "Goal.note",
            "comment": "May be used for progress notes, concerns or other related information that doesn't actually describe the goal itself.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "Goal.outcomeCode",
            "path": "Goal.outcomeCode",
            "comment": "Note that this should not duplicate the goal status.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalOutcome"
                }
              ],
              "strength": "example",
              "description": "The result of the goal; e.g. \"25% increase in shoulder mobility\", \"Anxiety reduced to moderate levels\".  \"15 kg weight loss sustained over 6 months\"",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "Goal.outcomeReference",
            "path": "Goal.outcomeReference",
            "comment": "The goal outcome is independent of the outcome of the related activities.  For example, if the Goal is to achieve a target body weight of 150 lb and a care plan activity is defined to diet, then the care plan’s activity outcome could be calories consumed whereas goal outcome is an observation for the actual body weight measured.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/GraphDefinition",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "GraphDefinition",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/GraphDefinition",
      "name": "GraphDefinition",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "GraphDefinition",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "GraphDefinition",
            "path": "GraphDefinition",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "GraphDefinition.id",
            "path": "GraphDefinition.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.meta",
            "path": "GraphDefinition.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.implicitRules",
            "path": "GraphDefinition.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "GraphDefinition.language",
            "path": "GraphDefinition.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "GraphDefinition.text",
            "path": "GraphDefinition.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "GraphDefinition.contained",
            "path": "GraphDefinition.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "GraphDefinition.extension",
            "path": "GraphDefinition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "GraphDefinition.modifierExtension",
            "path": "GraphDefinition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "GraphDefinition.url",
            "path": "GraphDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.version",
            "path": "GraphDefinition.version",
            "comment": "There may be different graph definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the graph definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.name",
            "path": "GraphDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.status",
            "path": "GraphDefinition.status",
            "comment": "Allows filtering of graph definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired graph definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "GraphDefinition.experimental",
            "path": "GraphDefinition.experimental",
            "comment": "Allows filtering of graph definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental graph definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "GraphDefinition.date",
            "path": "GraphDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the graph definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.publisher",
            "path": "GraphDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the graph definition is the organization or individual primarily responsible for the maintenance and upkeep of the graph definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the graph definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.contact",
            "path": "GraphDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.description",
            "path": "GraphDefinition.description",
            "comment": "This description can be used to capture details such as why the graph definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the graph definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "GraphDefinition.useContext",
            "path": "GraphDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.jurisdiction",
            "path": "GraphDefinition.jurisdiction",
            "comment": "It may be possible for the graph definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "GraphDefinition.purpose",
            "path": "GraphDefinition.purpose",
            "comment": "This element does not describe the usage of the graph definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this graph definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "GraphDefinition.start",
            "path": "GraphDefinition.start",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "GraphDefinition.profile",
            "path": "GraphDefinition.profile",
            "comment": "The code does not include the '$' prefix that is always included in the URL when the operation is invoked.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "GraphDefinition.link",
            "path": "GraphDefinition.link",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.id",
            "path": "GraphDefinition.link.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.extension",
            "path": "GraphDefinition.link.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.modifierExtension",
            "path": "GraphDefinition.link.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "GraphDefinition.link.path",
            "path": "GraphDefinition.link.path",
            "comment": "The path can be a literal path (e.g. Observation.subject), or it can be a query for reverse links (e.g. Provenance?target=[id]).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.sliceName",
            "path": "GraphDefinition.link.sliceName",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.min",
            "path": "GraphDefinition.link.min",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.max",
            "path": "GraphDefinition.link.max",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.description",
            "path": "GraphDefinition.link.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target",
            "path": "GraphDefinition.link.target",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.id",
            "path": "GraphDefinition.link.target.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.extension",
            "path": "GraphDefinition.link.target.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.modifierExtension",
            "path": "GraphDefinition.link.target.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "GraphDefinition.link.target.type",
            "path": "GraphDefinition.link.target.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "GraphDefinition.link.target.profile",
            "path": "GraphDefinition.link.target.profile",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.compartment",
            "path": "GraphDefinition.link.target.compartment",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.compartment.id",
            "path": "GraphDefinition.link.target.compartment.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.compartment.extension",
            "path": "GraphDefinition.link.target.compartment.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.compartment.modifierExtension",
            "path": "GraphDefinition.link.target.compartment.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "GraphDefinition.link.target.compartment.code",
            "path": "GraphDefinition.link.target.compartment.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CompartmentCode"
                }
              ],
              "strength": "required",
              "description": "Identifies a compartment",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/compartment-type"
              }
            }
          },
          {
            "id": "GraphDefinition.link.target.compartment.rule",
            "path": "GraphDefinition.link.target.compartment.rule",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GraphCompartmentRule"
                }
              ],
              "strength": "required",
              "description": "How a compartment must be linked",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/graph-compartment-rule"
              }
            }
          },
          {
            "id": "GraphDefinition.link.target.compartment.expression",
            "path": "GraphDefinition.link.target.compartment.expression",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.compartment.description",
            "path": "GraphDefinition.link.target.compartment.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.link",
            "path": "GraphDefinition.link.target.link",
            "min": 0,
            "max": "*",
            "contentReference": "#GraphDefinition.link"
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "GraphDefinition",
            "path": "GraphDefinition",
            "min": 0,
            "max": "*"
          },
          {
            "id": "GraphDefinition.url",
            "path": "GraphDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.version",
            "path": "GraphDefinition.version",
            "comment": "There may be different graph definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the graph definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.name",
            "path": "GraphDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.status",
            "path": "GraphDefinition.status",
            "comment": "Allows filtering of graph definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired graph definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "GraphDefinition.experimental",
            "path": "GraphDefinition.experimental",
            "comment": "Allows filtering of graph definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental graph definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "GraphDefinition.date",
            "path": "GraphDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the graph definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.publisher",
            "path": "GraphDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the graph definition is the organization or individual primarily responsible for the maintenance and upkeep of the graph definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the graph definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.contact",
            "path": "GraphDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.description",
            "path": "GraphDefinition.description",
            "comment": "This description can be used to capture details such as why the graph definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the graph definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "GraphDefinition.useContext",
            "path": "GraphDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GraphDefinition.jurisdiction",
            "path": "GraphDefinition.jurisdiction",
            "comment": "It may be possible for the graph definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "GraphDefinition.purpose",
            "path": "GraphDefinition.purpose",
            "comment": "This element does not describe the usage of the graph definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this graph definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "GraphDefinition.start",
            "path": "GraphDefinition.start",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "GraphDefinition.profile",
            "path": "GraphDefinition.profile",
            "comment": "The code does not include the '$' prefix that is always included in the URL when the operation is invoked.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "GraphDefinition.link",
            "path": "GraphDefinition.link",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.path",
            "path": "GraphDefinition.link.path",
            "comment": "The path can be a literal path (e.g. Observation.subject), or it can be a query for reverse links (e.g. Provenance?target=[id]).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.sliceName",
            "path": "GraphDefinition.link.sliceName",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.min",
            "path": "GraphDefinition.link.min",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.max",
            "path": "GraphDefinition.link.max",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.description",
            "path": "GraphDefinition.link.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target",
            "path": "GraphDefinition.link.target",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.type",
            "path": "GraphDefinition.link.target.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "GraphDefinition.link.target.profile",
            "path": "GraphDefinition.link.target.profile",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.compartment",
            "path": "GraphDefinition.link.target.compartment",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.compartment.code",
            "path": "GraphDefinition.link.target.compartment.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CompartmentCode"
                }
              ],
              "strength": "required",
              "description": "Identifies a compartment",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/compartment-type"
              }
            }
          },
          {
            "id": "GraphDefinition.link.target.compartment.rule",
            "path": "GraphDefinition.link.target.compartment.rule",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GraphCompartmentRule"
                }
              ],
              "strength": "required",
              "description": "How a compartment must be linked",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/graph-compartment-rule"
              }
            }
          },
          {
            "id": "GraphDefinition.link.target.compartment.expression",
            "path": "GraphDefinition.link.target.compartment.expression",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.compartment.description",
            "path": "GraphDefinition.link.target.compartment.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "GraphDefinition.link.target.link",
            "path": "GraphDefinition.link.target.link",
            "min": 0,
            "max": "*",
            "contentReference": "#GraphDefinition.link"
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Group",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Group",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Group",
      "name": "Group",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Group",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Group",
            "path": "Group",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "grp-1",
                "severity": "error",
                "human": "Can only have members if group is \"actual\"",
                "expression": "member.empty() or (actual = true)",
                "xpath": "f:actual/@value=true() or not(exists(f:member))"
              }
            ]
          },
          {
            "id": "Group.id",
            "path": "Group.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Group.meta",
            "path": "Group.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Group.implicitRules",
            "path": "Group.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Group.language",
            "path": "Group.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Group.text",
            "path": "Group.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Group.contained",
            "path": "Group.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Group.extension",
            "path": "Group.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Group.modifierExtension",
            "path": "Group.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Group.identifier",
            "path": "Group.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Group.active",
            "path": "Group.active",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isSummary": true
          },
          {
            "id": "Group.type",
            "path": "Group.type",
            "comment": "Group members SHALL be of the appropriate resource type (Patient for person or animal; or Practitioner, Device, Medicaiton or Substance for the other types.).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GroupType"
                }
              ],
              "strength": "required",
              "description": "Types of resources that are part of group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/group-type"
              }
            }
          },
          {
            "id": "Group.actual",
            "path": "Group.actual",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "condition": [
              "grp-1"
            ],
            "isSummary": true
          },
          {
            "id": "Group.code",
            "path": "Group.code",
            "comment": "This would generally be omitted for Person resources.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GroupKind"
                }
              ],
              "strength": "example",
              "description": "Kind of particular resource; e.g. cow, syringe, lake, etc."
            }
          },
          {
            "id": "Group.name",
            "path": "Group.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Group.quantity",
            "path": "Group.quantity",
            "comment": "Note that the quantity may be less than the number of members if some of the members are not active.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Group.characteristic",
            "path": "Group.characteristic",
            "comment": "All the identified characteristics must be true for an entity to a member of the group.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Group.characteristic.id",
            "path": "Group.characteristic.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Group.characteristic.extension",
            "path": "Group.characteristic.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Group.characteristic.modifierExtension",
            "path": "Group.characteristic.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Group.characteristic.code",
            "path": "Group.characteristic.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GroupCharacteristicKind"
                }
              ],
              "strength": "example",
              "description": "List of characteristics used to describe group members; e.g. gender, age, owner, location, etc."
            }
          },
          {
            "id": "Group.characteristic.value[x]",
            "path": "Group.characteristic.value[x]",
            "comment": "For Range, it means members of the group have a value that falls somewhere within the specified range.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "boolean"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GroupCharacteristicValue"
                }
              ],
              "strength": "example",
              "description": "Value of descriptive member characteristic; e.g. red, male, pneumonia, Caucasian, etc."
            }
          },
          {
            "id": "Group.characteristic.exclude",
            "path": "Group.characteristic.exclude",
            "comment": "This is labeled as \"Is Modifier\" because applications cannot wrongly include excluded members as included or vice versa.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Group.characteristic.period",
            "path": "Group.characteristic.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Group.member",
            "path": "Group.member",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "grp-1"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Group.member.id",
            "path": "Group.member.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Group.member.extension",
            "path": "Group.member.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Group.member.modifierExtension",
            "path": "Group.member.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Group.member.entity",
            "path": "Group.member.entity",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ]
          },
          {
            "id": "Group.member.period",
            "path": "Group.member.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "meaningWhenMissing": "The member is in the group at this time"
          },
          {
            "id": "Group.member.inactive",
            "path": "Group.member.inactive",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Group",
            "path": "Group",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "grp-1",
                "severity": "error",
                "human": "Can only have members if group is \"actual\"",
                "expression": "member.empty() or (actual = true)",
                "xpath": "f:actual/@value=true() or not(exists(f:member))"
              }
            ]
          },
          {
            "id": "Group.identifier",
            "path": "Group.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Group.active",
            "path": "Group.active",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isSummary": true
          },
          {
            "id": "Group.type",
            "path": "Group.type",
            "comment": "Group members SHALL be of the appropriate resource type (Patient for person or animal; or Practitioner, Device, Medicaiton or Substance for the other types.).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GroupType"
                }
              ],
              "strength": "required",
              "description": "Types of resources that are part of group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/group-type"
              }
            }
          },
          {
            "id": "Group.actual",
            "path": "Group.actual",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "condition": [
              "grp-1"
            ],
            "isSummary": true
          },
          {
            "id": "Group.code",
            "path": "Group.code",
            "comment": "This would generally be omitted for Person resources.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GroupKind"
                }
              ],
              "strength": "example",
              "description": "Kind of particular resource; e.g. cow, syringe, lake, etc."
            }
          },
          {
            "id": "Group.name",
            "path": "Group.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Group.quantity",
            "path": "Group.quantity",
            "comment": "Note that the quantity may be less than the number of members if some of the members are not active.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Group.characteristic",
            "path": "Group.characteristic",
            "comment": "All the identified characteristics must be true for an entity to a member of the group.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Group.characteristic.code",
            "path": "Group.characteristic.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GroupCharacteristicKind"
                }
              ],
              "strength": "example",
              "description": "List of characteristics used to describe group members; e.g. gender, age, owner, location, etc."
            }
          },
          {
            "id": "Group.characteristic.value[x]",
            "path": "Group.characteristic.value[x]",
            "comment": "For Range, it means members of the group have a value that falls somewhere within the specified range.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "boolean"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GroupCharacteristicValue"
                }
              ],
              "strength": "example",
              "description": "Value of descriptive member characteristic; e.g. red, male, pneumonia, Caucasian, etc."
            }
          },
          {
            "id": "Group.characteristic.exclude",
            "path": "Group.characteristic.exclude",
            "comment": "This is labeled as \"Is Modifier\" because applications cannot wrongly include excluded members as included or vice versa.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Group.characteristic.period",
            "path": "Group.characteristic.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Group.member",
            "path": "Group.member",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "grp-1"
            ]
          },
          {
            "id": "Group.member.entity",
            "path": "Group.member.entity",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ]
          },
          {
            "id": "Group.member.period",
            "path": "Group.member.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "meaningWhenMissing": "The member is in the group at this time"
          },
          {
            "id": "Group.member.inactive",
            "path": "Group.member.inactive",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/GuidanceResponse",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "GuidanceResponse",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "cds"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/GuidanceResponse",
      "name": "GuidanceResponse",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "GuidanceResponse",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "GuidanceResponse",
            "path": "GuidanceResponse",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "GuidanceResponse.id",
            "path": "GuidanceResponse.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GuidanceResponse.meta",
            "path": "GuidanceResponse.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GuidanceResponse.implicitRules",
            "path": "GuidanceResponse.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "GuidanceResponse.language",
            "path": "GuidanceResponse.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "GuidanceResponse.text",
            "path": "GuidanceResponse.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "GuidanceResponse.contained",
            "path": "GuidanceResponse.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "GuidanceResponse.extension",
            "path": "GuidanceResponse.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "GuidanceResponse.modifierExtension",
            "path": "GuidanceResponse.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "GuidanceResponse.requestId",
            "path": "GuidanceResponse.requestId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GuidanceResponse.identifier",
            "path": "GuidanceResponse.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GuidanceResponse.module",
            "path": "GuidanceResponse.module",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ServiceDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GuidanceResponse.status",
            "path": "GuidanceResponse.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GuidanceResponseStatus"
                }
              ],
              "strength": "required",
              "description": "The status of a guidance response",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/guidance-response-status"
              }
            }
          },
          {
            "id": "GuidanceResponse.subject",
            "path": "GuidanceResponse.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ]
          },
          {
            "id": "GuidanceResponse.context",
            "path": "GuidanceResponse.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ]
          },
          {
            "id": "GuidanceResponse.occurrenceDateTime",
            "path": "GuidanceResponse.occurrenceDateTime",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "GuidanceResponse.performer",
            "path": "GuidanceResponse.performer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "GuidanceResponse.reason[x]",
            "path": "GuidanceResponse.reason[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "GuidanceResponse.note",
            "path": "GuidanceResponse.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "GuidanceResponse.evaluationMessage",
            "path": "GuidanceResponse.evaluationMessage",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/OperationOutcome"
              }
            ]
          },
          {
            "id": "GuidanceResponse.outputParameters",
            "path": "GuidanceResponse.outputParameters",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Parameters"
              }
            ]
          },
          {
            "id": "GuidanceResponse.result",
            "path": "GuidanceResponse.result",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RequestGroup"
              }
            ]
          },
          {
            "id": "GuidanceResponse.dataRequirement",
            "path": "GuidanceResponse.dataRequirement",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "DataRequirement"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "GuidanceResponse",
            "path": "GuidanceResponse",
            "min": 0,
            "max": "*"
          },
          {
            "id": "GuidanceResponse.requestId",
            "path": "GuidanceResponse.requestId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GuidanceResponse.identifier",
            "path": "GuidanceResponse.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GuidanceResponse.module",
            "path": "GuidanceResponse.module",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ServiceDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "GuidanceResponse.status",
            "path": "GuidanceResponse.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GuidanceResponseStatus"
                }
              ],
              "strength": "required",
              "description": "The status of a guidance response",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/guidance-response-status"
              }
            }
          },
          {
            "id": "GuidanceResponse.subject",
            "path": "GuidanceResponse.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ]
          },
          {
            "id": "GuidanceResponse.context",
            "path": "GuidanceResponse.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ]
          },
          {
            "id": "GuidanceResponse.occurrenceDateTime",
            "path": "GuidanceResponse.occurrenceDateTime",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "GuidanceResponse.performer",
            "path": "GuidanceResponse.performer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "GuidanceResponse.reason[x]",
            "path": "GuidanceResponse.reason[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "GuidanceResponse.note",
            "path": "GuidanceResponse.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "GuidanceResponse.evaluationMessage",
            "path": "GuidanceResponse.evaluationMessage",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/OperationOutcome"
              }
            ]
          },
          {
            "id": "GuidanceResponse.outputParameters",
            "path": "GuidanceResponse.outputParameters",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Parameters"
              }
            ]
          },
          {
            "id": "GuidanceResponse.result",
            "path": "GuidanceResponse.result",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RequestGroup"
              }
            ]
          },
          {
            "id": "GuidanceResponse.dataRequirement",
            "path": "GuidanceResponse.dataRequirement",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "DataRequirement"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/HealthcareService",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "HealthcareService",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/HealthcareService",
      "name": "HealthcareService",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "HealthcareService",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "HealthcareService",
            "path": "HealthcareService",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "HealthcareService.id",
            "path": "HealthcareService.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.meta",
            "path": "HealthcareService.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.implicitRules",
            "path": "HealthcareService.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "HealthcareService.language",
            "path": "HealthcareService.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "HealthcareService.text",
            "path": "HealthcareService.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "HealthcareService.contained",
            "path": "HealthcareService.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "HealthcareService.extension",
            "path": "HealthcareService.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "HealthcareService.modifierExtension",
            "path": "HealthcareService.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "HealthcareService.identifier",
            "path": "HealthcareService.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.active",
            "path": "HealthcareService.active",
            "comment": "This element is labeled as a modifier because it may be used to mark that the resource was created in error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "HealthcareService.providedBy",
            "path": "HealthcareService.providedBy",
            "comment": "This property is recommended to be the same as the Location's managingOrganization, and if not provided should be interpreted as such. If the Location does not have a managing Organization, then this property should be populated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.category",
            "path": "HealthcareService.category",
            "comment": "Selecting a Service Category then determines the list of relevant service types that can be selected in the primary service type.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-category"
                }
              ],
              "strength": "example",
              "description": "A category of the service(s) that could be provided.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-category"
              }
            }
          },
          {
            "id": "HealthcareService.type",
            "path": "HealthcareService.type",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-type"
                }
              ],
              "strength": "example",
              "description": "Additional details about where the content was created (e.g. clinical specialty).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-type"
              }
            }
          },
          {
            "id": "HealthcareService.specialty",
            "path": "HealthcareService.specialty",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-specialty"
                }
              ],
              "strength": "preferred",
              "description": "A specialty that a healthcare service may provide.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "HealthcareService.location",
            "path": "HealthcareService.location",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.name",
            "path": "HealthcareService.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.comment",
            "path": "HealthcareService.comment",
            "comment": "Would expect that a user would not see this information on a search results, and it would only be available when viewing the complete details of the service.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.extraDetails",
            "path": "HealthcareService.extraDetails",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "HealthcareService.photo",
            "path": "HealthcareService.photo",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.telecom",
            "path": "HealthcareService.telecom",
            "comment": "If this is empty, then refer to the location's contacts.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ]
          },
          {
            "id": "HealthcareService.coverageArea",
            "path": "HealthcareService.coverageArea",
            "comment": "The locations referenced by the coverage area can include both specific locations, including areas, and also conceptual domains too (mode = kind), such as a physical area (tri-state area) and some other attribute (covered by Example Care Organization). These types of Locations are often not managed by any specific organization. This could also include generic locations such as \"in-home\".",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "HealthcareService.serviceProvisionCode",
            "path": "HealthcareService.serviceProvisionCode",
            "comment": "The provision means being commissioned by, contractually obliged or financially sourced. Types of costings that may apply to this healthcare service, such if the service may be available for free, some discounts available, or fees apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProvisionConditions"
                }
              ],
              "strength": "example",
              "description": "The code(s) that detail the conditions under which the healthcare service is available/offered.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-provision-conditions"
              }
            }
          },
          {
            "id": "HealthcareService.eligibility",
            "path": "HealthcareService.eligibility",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceEligibility"
                }
              ],
              "strength": "example",
              "description": "Coded values underwhich a specific service is made available."
            }
          },
          {
            "id": "HealthcareService.eligibilityNote",
            "path": "HealthcareService.eligibilityNote",
            "comment": "The description of service eligibility should, in general, not exceed one or two paragraphs. It should be sufficient for a prospective consumer to determine if they are likely to be eligible or not. Where eligibility requirements and conditions are complex, it may simply be noted that an eligibility assessment is required. Where eligibility is determined by an outside source, such as an Act of Parliament, this should be noted, preferably with a reference to a commonly available copy of the source document such as a web page.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "HealthcareService.programName",
            "path": "HealthcareService.programName",
            "comment": "Programs are often defined externally to an Organization, commonly by governments; e.g. Home and Community Care Programs, Homeless Program, ….",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "HealthcareService.characteristic",
            "path": "HealthcareService.characteristic",
            "comment": "These could be such things as is wheelchair accessible.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceCharacteristic"
                }
              ],
              "strength": "example",
              "description": "A custom attribute that could be provided at a service (e.g. Wheelchair accessibiliy)."
            }
          },
          {
            "id": "HealthcareService.referralMethod",
            "path": "HealthcareService.referralMethod",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralMethod"
                }
              ],
              "strength": "example",
              "description": "The methods of referral can be used when referring to a specific HealthCareService resource.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-referral-method"
              }
            }
          },
          {
            "id": "HealthcareService.appointmentRequired",
            "path": "HealthcareService.appointmentRequired",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "HealthcareService.availableTime",
            "path": "HealthcareService.availableTime",
            "comment": "More detailed availability information may be provided in associated Schedule/Slot resources.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "HealthcareService.availableTime.id",
            "path": "HealthcareService.availableTime.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "HealthcareService.availableTime.extension",
            "path": "HealthcareService.availableTime.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "HealthcareService.availableTime.modifierExtension",
            "path": "HealthcareService.availableTime.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "HealthcareService.availableTime.daysOfWeek",
            "path": "HealthcareService.availableTime.daysOfWeek",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DaysOfWeek"
                }
              ],
              "strength": "required",
              "description": "The days of the week.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/days-of-week"
              }
            }
          },
          {
            "id": "HealthcareService.availableTime.allDay",
            "path": "HealthcareService.availableTime.allDay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "HealthcareService.availableTime.availableStartTime",
            "path": "HealthcareService.availableTime.availableStartTime",
            "comment": "The timezone is expected to be for where this HealthcareService is provided at.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "time"
              }
            ]
          },
          {
            "id": "HealthcareService.availableTime.availableEndTime",
            "path": "HealthcareService.availableTime.availableEndTime",
            "comment": "The timezone is expected to be for where this HealthcareService is provided at.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "time"
              }
            ]
          },
          {
            "id": "HealthcareService.notAvailable",
            "path": "HealthcareService.notAvailable",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "HealthcareService.notAvailable.id",
            "path": "HealthcareService.notAvailable.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "HealthcareService.notAvailable.extension",
            "path": "HealthcareService.notAvailable.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "HealthcareService.notAvailable.modifierExtension",
            "path": "HealthcareService.notAvailable.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "HealthcareService.notAvailable.description",
            "path": "HealthcareService.notAvailable.description",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "HealthcareService.notAvailable.during",
            "path": "HealthcareService.notAvailable.during",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "HealthcareService.availabilityExceptions",
            "path": "HealthcareService.availabilityExceptions",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "HealthcareService.endpoint",
            "path": "HealthcareService.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "HealthcareService",
            "path": "HealthcareService",
            "min": 0,
            "max": "*"
          },
          {
            "id": "HealthcareService.identifier",
            "path": "HealthcareService.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.active",
            "path": "HealthcareService.active",
            "comment": "This element is labeled as a modifier because it may be used to mark that the resource was created in error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "HealthcareService.providedBy",
            "path": "HealthcareService.providedBy",
            "comment": "This property is recommended to be the same as the Location's managingOrganization, and if not provided should be interpreted as such. If the Location does not have a managing Organization, then this property should be populated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.category",
            "path": "HealthcareService.category",
            "comment": "Selecting a Service Category then determines the list of relevant service types that can be selected in the primary service type.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-category"
                }
              ],
              "strength": "example",
              "description": "A category of the service(s) that could be provided.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-category"
              }
            }
          },
          {
            "id": "HealthcareService.type",
            "path": "HealthcareService.type",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-type"
                }
              ],
              "strength": "example",
              "description": "Additional details about where the content was created (e.g. clinical specialty).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-type"
              }
            }
          },
          {
            "id": "HealthcareService.specialty",
            "path": "HealthcareService.specialty",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-specialty"
                }
              ],
              "strength": "preferred",
              "description": "A specialty that a healthcare service may provide.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "HealthcareService.location",
            "path": "HealthcareService.location",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.name",
            "path": "HealthcareService.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.comment",
            "path": "HealthcareService.comment",
            "comment": "Would expect that a user would not see this information on a search results, and it would only be available when viewing the complete details of the service.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.extraDetails",
            "path": "HealthcareService.extraDetails",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "HealthcareService.photo",
            "path": "HealthcareService.photo",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              }
            ],
            "isSummary": true
          },
          {
            "id": "HealthcareService.telecom",
            "path": "HealthcareService.telecom",
            "comment": "If this is empty, then refer to the location's contacts.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ]
          },
          {
            "id": "HealthcareService.coverageArea",
            "path": "HealthcareService.coverageArea",
            "comment": "The locations referenced by the coverage area can include both specific locations, including areas, and also conceptual domains too (mode = kind), such as a physical area (tri-state area) and some other attribute (covered by Example Care Organization). These types of Locations are often not managed by any specific organization. This could also include generic locations such as \"in-home\".",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "HealthcareService.serviceProvisionCode",
            "path": "HealthcareService.serviceProvisionCode",
            "comment": "The provision means being commissioned by, contractually obliged or financially sourced. Types of costings that may apply to this healthcare service, such if the service may be available for free, some discounts available, or fees apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceProvisionConditions"
                }
              ],
              "strength": "example",
              "description": "The code(s) that detail the conditions under which the healthcare service is available/offered.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-provision-conditions"
              }
            }
          },
          {
            "id": "HealthcareService.eligibility",
            "path": "HealthcareService.eligibility",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceEligibility"
                }
              ],
              "strength": "example",
              "description": "Coded values underwhich a specific service is made available."
            }
          },
          {
            "id": "HealthcareService.eligibilityNote",
            "path": "HealthcareService.eligibilityNote",
            "comment": "The description of service eligibility should, in general, not exceed one or two paragraphs. It should be sufficient for a prospective consumer to determine if they are likely to be eligible or not. Where eligibility requirements and conditions are complex, it may simply be noted that an eligibility assessment is required. Where eligibility is determined by an outside source, such as an Act of Parliament, this should be noted, preferably with a reference to a commonly available copy of the source document such as a web page.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "HealthcareService.programName",
            "path": "HealthcareService.programName",
            "comment": "Programs are often defined externally to an Organization, commonly by governments; e.g. Home and Community Care Programs, Homeless Program, ….",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "HealthcareService.characteristic",
            "path": "HealthcareService.characteristic",
            "comment": "These could be such things as is wheelchair accessible.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ServiceCharacteristic"
                }
              ],
              "strength": "example",
              "description": "A custom attribute that could be provided at a service (e.g. Wheelchair accessibiliy)."
            }
          },
          {
            "id": "HealthcareService.referralMethod",
            "path": "HealthcareService.referralMethod",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralMethod"
                }
              ],
              "strength": "example",
              "description": "The methods of referral can be used when referring to a specific HealthCareService resource.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-referral-method"
              }
            }
          },
          {
            "id": "HealthcareService.appointmentRequired",
            "path": "HealthcareService.appointmentRequired",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "HealthcareService.availableTime",
            "path": "HealthcareService.availableTime",
            "comment": "More detailed availability information may be provided in associated Schedule/Slot resources.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "HealthcareService.availableTime.daysOfWeek",
            "path": "HealthcareService.availableTime.daysOfWeek",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DaysOfWeek"
                }
              ],
              "strength": "required",
              "description": "The days of the week.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/days-of-week"
              }
            }
          },
          {
            "id": "HealthcareService.availableTime.allDay",
            "path": "HealthcareService.availableTime.allDay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "HealthcareService.availableTime.availableStartTime",
            "path": "HealthcareService.availableTime.availableStartTime",
            "comment": "The timezone is expected to be for where this HealthcareService is provided at.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "time"
              }
            ]
          },
          {
            "id": "HealthcareService.availableTime.availableEndTime",
            "path": "HealthcareService.availableTime.availableEndTime",
            "comment": "The timezone is expected to be for where this HealthcareService is provided at.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "time"
              }
            ]
          },
          {
            "id": "HealthcareService.notAvailable",
            "path": "HealthcareService.notAvailable",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "HealthcareService.notAvailable.description",
            "path": "HealthcareService.notAvailable.description",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "HealthcareService.notAvailable.during",
            "path": "HealthcareService.notAvailable.during",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "HealthcareService.availabilityExceptions",
            "path": "HealthcareService.availabilityExceptions",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "HealthcareService.endpoint",
            "path": "HealthcareService.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ImagingManifest",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ImagingManifest",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "ii"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ImagingManifest",
      "name": "ImagingManifest",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ImagingManifest",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ImagingManifest",
            "path": "ImagingManifest",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ImagingManifest.id",
            "path": "ImagingManifest.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.meta",
            "path": "ImagingManifest.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.implicitRules",
            "path": "ImagingManifest.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImagingManifest.language",
            "path": "ImagingManifest.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ImagingManifest.text",
            "path": "ImagingManifest.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ImagingManifest.contained",
            "path": "ImagingManifest.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ImagingManifest.extension",
            "path": "ImagingManifest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImagingManifest.modifierExtension",
            "path": "ImagingManifest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ImagingManifest.identifier",
            "path": "ImagingManifest.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.patient",
            "path": "ImagingManifest.patient",
            "comment": "SOP instances selected in the ImagingManifest can be from different studies, but must be of the same patient.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.authoringTime",
            "path": "ImagingManifest.authoringTime",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.author",
            "path": "ImagingManifest.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.description",
            "path": "ImagingManifest.description",
            "comment": "Free text narrative description of the ImagingManifest.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Study"
              }
            ],
            "path": "ImagingManifest.study",
            "comment": "Study component represents the study level identity and locator information of the DICOM SOP instances in the selection. It is the top level identity of the hierarchical identification of the instances.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.id",
            "path": "ImagingManifest.study.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImagingManifest.study.extension",
            "path": "ImagingManifest.study.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImagingManifest.study.modifierExtension",
            "path": "ImagingManifest.study.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.uid",
            "path": "ImagingManifest.study.uid",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.imagingStudy",
            "path": "ImagingManifest.study.imagingStudy",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingStudy"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.endpoint",
            "path": "ImagingManifest.study.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Series"
              }
            ],
            "path": "ImagingManifest.study.series",
            "comment": "Series component represents the series level identity and locator information of the DICOM SOP instances in the selection.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.id",
            "path": "ImagingManifest.study.series.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImagingManifest.study.series.extension",
            "path": "ImagingManifest.study.series.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImagingManifest.study.series.modifierExtension",
            "path": "ImagingManifest.study.series.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.uid",
            "path": "ImagingManifest.study.series.uid",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.endpoint",
            "path": "ImagingManifest.study.series.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.instance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Instance"
              }
            ],
            "path": "ImagingManifest.study.series.instance",
            "comment": "SOP Instance component identify the instance selected, along with the study and series identities to form the DICOM identity hierarchy.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.instance.id",
            "path": "ImagingManifest.study.series.instance.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImagingManifest.study.series.instance.extension",
            "path": "ImagingManifest.study.series.instance.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImagingManifest.study.series.instance.modifierExtension",
            "path": "ImagingManifest.study.series.instance.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.instance.sopClass",
            "path": "ImagingManifest.study.series.instance.sopClass",
            "comment": "SOP class UID identifies the type of the selected instances, e.g. CT image, Gray scale softcopy presentation state, ECG waveform, etc.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.instance.uid",
            "path": "ImagingManifest.study.series.instance.uid",
            "comment": "SOP instance UID identifies the instance.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.instance.frameNumber",
            "path": "ImagingManifest.study.series.instance.frameNumber",
            "comment": "This component may be used if the referenced image SOP Instance is a multi-frame image.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "unsignedInt"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ImagingManifest",
            "path": "ImagingManifest",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ImagingManifest.identifier",
            "path": "ImagingManifest.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.patient",
            "path": "ImagingManifest.patient",
            "comment": "SOP instances selected in the ImagingManifest can be from different studies, but must be of the same patient.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.authoringTime",
            "path": "ImagingManifest.authoringTime",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.author",
            "path": "ImagingManifest.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.description",
            "path": "ImagingManifest.description",
            "comment": "Free text narrative description of the ImagingManifest.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Study"
              }
            ],
            "path": "ImagingManifest.study",
            "comment": "Study component represents the study level identity and locator information of the DICOM SOP instances in the selection. It is the top level identity of the hierarchical identification of the instances.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.uid",
            "path": "ImagingManifest.study.uid",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.imagingStudy",
            "path": "ImagingManifest.study.imagingStudy",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImagingStudy"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.endpoint",
            "path": "ImagingManifest.study.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Series"
              }
            ],
            "path": "ImagingManifest.study.series",
            "comment": "Series component represents the series level identity and locator information of the DICOM SOP instances in the selection.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.uid",
            "path": "ImagingManifest.study.series.uid",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.endpoint",
            "path": "ImagingManifest.study.series.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.instance",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Instance"
              }
            ],
            "path": "ImagingManifest.study.series.instance",
            "comment": "SOP Instance component identify the instance selected, along with the study and series identities to form the DICOM identity hierarchy.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.instance.sopClass",
            "path": "ImagingManifest.study.series.instance.sopClass",
            "comment": "SOP class UID identifies the type of the selected instances, e.g. CT image, Gray scale softcopy presentation state, ECG waveform, etc.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.instance.uid",
            "path": "ImagingManifest.study.series.instance.uid",
            "comment": "SOP instance UID identifies the instance.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingManifest.study.series.instance.frameNumber",
            "path": "ImagingManifest.study.series.instance.frameNumber",
            "comment": "This component may be used if the referenced image SOP Instance is a multi-frame image.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "unsignedInt"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ImagingStudy",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ImagingStudy",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "ii"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ImagingStudy",
      "name": "ImagingStudy",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ImagingStudy",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ImagingStudy",
            "path": "ImagingStudy",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ImagingStudy.id",
            "path": "ImagingStudy.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.meta",
            "path": "ImagingStudy.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.implicitRules",
            "path": "ImagingStudy.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImagingStudy.language",
            "path": "ImagingStudy.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ImagingStudy.text",
            "path": "ImagingStudy.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ImagingStudy.contained",
            "path": "ImagingStudy.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ImagingStudy.extension",
            "path": "ImagingStudy.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImagingStudy.modifierExtension",
            "path": "ImagingStudy.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ImagingStudy.uid",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                "valueString": "dicom="
              }
            ],
            "path": "ImagingStudy.uid",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueOid": "urn:oid:2.16.124.113543.6003.1154777499.30246.19789.3503430045"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.accession",
            "path": "ImagingStudy.accession",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.identifier",
            "path": "ImagingStudy.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.availability",
            "path": "ImagingStudy.availability",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InstanceAvailability"
                }
              ],
              "strength": "required",
              "description": "Availability of the resource",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/instance-availability"
              }
            }
          },
          {
            "id": "ImagingStudy.modalityList",
            "path": "ImagingStudy.modalityList",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImagingModality"
                }
              ],
              "strength": "extensible",
              "description": "Type of acquired data in the instance",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/dicom-cid29"
              }
            }
          },
          {
            "id": "ImagingStudy.patient",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                "valueString": "dicom=http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.2.2.html"
              }
            ],
            "path": "ImagingStudy.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.context",
            "path": "ImagingStudy.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.started",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                "valueString": "dicom=http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.2.html#sect_C.7.2.1"
              }
            ],
            "path": "ImagingStudy.started",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueDateTime": "2011-01-01T11:01:20+03:00"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.basedOn",
            "path": "ImagingStudy.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.referrer",
            "path": "ImagingStudy.referrer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.interpreter",
            "path": "ImagingStudy.interpreter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.endpoint",
            "path": "ImagingStudy.endpoint",
            "comment": "Typical endpoint types include DICOM WADO-RS, which is used to retrieve DICOM instances in native or rendered (e.g., JPG, PNG), formats using a RESTful API; DICOM WADO-URI, which can similarly retrieve native or rendered instances, except using an HTTP query-based approach; DICOM QIDO-RS, which allows RESTful query for DICOM information without retrieving the actual instances; or IHE Invoke Image Display (IID), which provides standard invocation of an imaging web viewer.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.numberOfSeries",
            "path": "ImagingStudy.numberOfSeries",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.numberOfInstances",
            "path": "ImagingStudy.numberOfInstances",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.procedureReference",
            "path": "ImagingStudy.procedureReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.procedureCode",
            "path": "ImagingStudy.procedureCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImagingProcedureCode"
                }
              ],
              "strength": "example",
              "description": "The performed procedure type",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-code"
              }
            }
          },
          {
            "id": "ImagingStudy.reason",
            "path": "ImagingStudy.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImagingReason"
                }
              ],
              "strength": "example",
              "description": "The reason for the study",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-reason"
              }
            }
          },
          {
            "id": "ImagingStudy.description",
            "path": "ImagingStudy.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series",
            "path": "ImagingStudy.series",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.id",
            "path": "ImagingStudy.series.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImagingStudy.series.extension",
            "path": "ImagingStudy.series.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImagingStudy.series.modifierExtension",
            "path": "ImagingStudy.series.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.uid",
            "path": "ImagingStudy.series.uid",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueOid": "urn:oid:2.16.124.113543.6003.2588828330.45298.17418.2723805630"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.number",
            "path": "ImagingStudy.series.number",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueUnsignedInt": 3
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.modality",
            "path": "ImagingStudy.series.modality",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImagingModality"
                }
              ],
              "strength": "extensible",
              "description": "Type of acquired data in the instance",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/dicom-cid29"
              }
            }
          },
          {
            "id": "ImagingStudy.series.description",
            "path": "ImagingStudy.series.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueString": "CT Surview 180"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.numberOfInstances",
            "path": "ImagingStudy.series.numberOfInstances",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.availability",
            "path": "ImagingStudy.series.availability",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InstanceAvailability"
                }
              ],
              "strength": "required",
              "description": "Availability of the resource",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/instance-availability"
              }
            }
          },
          {
            "id": "ImagingStudy.series.endpoint",
            "path": "ImagingStudy.series.endpoint",
            "comment": "Typical endpoint types include DICOM WADO-RS, which is used to retrieve DICOM instances in native or rendered (e.g., JPG, PNG) formats using a RESTful API; DICOM WADO-URI, which can similarly retrieve native or rendered instances, except using an HTTP query-based approach; and DICOM QIDO-RS, which allows RESTful query for DICOM information without retrieving the actual instances.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.bodySite",
            "path": "ImagingStudy.series.bodySite",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "ImagingStudy.series.laterality",
            "path": "ImagingStudy.series.laterality",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Laterality"
                }
              ],
              "strength": "example",
              "description": "Codes describing body site laterality (left, right, etc.).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/bodysite-laterality"
              }
            }
          },
          {
            "id": "ImagingStudy.series.started",
            "path": "ImagingStudy.series.started",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.performer",
            "path": "ImagingStudy.series.performer",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.instance",
            "path": "ImagingStudy.series.instance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ImagingStudy.series.instance.id",
            "path": "ImagingStudy.series.instance.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImagingStudy.series.instance.extension",
            "path": "ImagingStudy.series.instance.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImagingStudy.series.instance.modifierExtension",
            "path": "ImagingStudy.series.instance.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.instance.uid",
            "path": "ImagingStudy.series.instance.uid",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueOid": "urn:oid:2.16.124.113543.6003.189642796.63084.16748.2599092903"
              }
            ]
          },
          {
            "id": "ImagingStudy.series.instance.number",
            "path": "ImagingStudy.series.instance.number",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueUnsignedInt": 1
              }
            ]
          },
          {
            "id": "ImagingStudy.series.instance.sopClass",
            "path": "ImagingStudy.series.instance.sopClass",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueOid": "urn:oid:1.2.840.10008.5.1.4.1.1.2"
              }
            ]
          },
          {
            "id": "ImagingStudy.series.instance.title",
            "path": "ImagingStudy.series.instance.title",
            "comment": "Particularly for post-acquisition analytic objects, such as SR, presentation states, value mapping, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ImagingStudy",
            "path": "ImagingStudy",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ImagingStudy.uid",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                "valueString": "dicom="
              }
            ],
            "path": "ImagingStudy.uid",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueOid": "urn:oid:2.16.124.113543.6003.1154777499.30246.19789.3503430045"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.accession",
            "path": "ImagingStudy.accession",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.identifier",
            "path": "ImagingStudy.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.availability",
            "path": "ImagingStudy.availability",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InstanceAvailability"
                }
              ],
              "strength": "required",
              "description": "Availability of the resource",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/instance-availability"
              }
            }
          },
          {
            "id": "ImagingStudy.modalityList",
            "path": "ImagingStudy.modalityList",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImagingModality"
                }
              ],
              "strength": "extensible",
              "description": "Type of acquired data in the instance",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/dicom-cid29"
              }
            }
          },
          {
            "id": "ImagingStudy.patient",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                "valueString": "dicom=http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.2.2.html"
              }
            ],
            "path": "ImagingStudy.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.context",
            "path": "ImagingStudy.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.started",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                "valueString": "dicom=http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.7.2.html#sect_C.7.2.1"
              }
            ],
            "path": "ImagingStudy.started",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueDateTime": "2011-01-01T11:01:20+03:00"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.basedOn",
            "path": "ImagingStudy.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.referrer",
            "path": "ImagingStudy.referrer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.interpreter",
            "path": "ImagingStudy.interpreter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.endpoint",
            "path": "ImagingStudy.endpoint",
            "comment": "Typical endpoint types include DICOM WADO-RS, which is used to retrieve DICOM instances in native or rendered (e.g., JPG, PNG), formats using a RESTful API; DICOM WADO-URI, which can similarly retrieve native or rendered instances, except using an HTTP query-based approach; DICOM QIDO-RS, which allows RESTful query for DICOM information without retrieving the actual instances; or IHE Invoke Image Display (IID), which provides standard invocation of an imaging web viewer.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.numberOfSeries",
            "path": "ImagingStudy.numberOfSeries",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.numberOfInstances",
            "path": "ImagingStudy.numberOfInstances",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.procedureReference",
            "path": "ImagingStudy.procedureReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.procedureCode",
            "path": "ImagingStudy.procedureCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImagingProcedureCode"
                }
              ],
              "strength": "example",
              "description": "The performed procedure type",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-code"
              }
            }
          },
          {
            "id": "ImagingStudy.reason",
            "path": "ImagingStudy.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImagingReason"
                }
              ],
              "strength": "example",
              "description": "The reason for the study",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-reason"
              }
            }
          },
          {
            "id": "ImagingStudy.description",
            "path": "ImagingStudy.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series",
            "path": "ImagingStudy.series",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.uid",
            "path": "ImagingStudy.series.uid",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueOid": "urn:oid:2.16.124.113543.6003.2588828330.45298.17418.2723805630"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.number",
            "path": "ImagingStudy.series.number",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueUnsignedInt": 3
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.modality",
            "path": "ImagingStudy.series.modality",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImagingModality"
                }
              ],
              "strength": "extensible",
              "description": "Type of acquired data in the instance",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/dicom-cid29"
              }
            }
          },
          {
            "id": "ImagingStudy.series.description",
            "path": "ImagingStudy.series.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueString": "CT Surview 180"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.numberOfInstances",
            "path": "ImagingStudy.series.numberOfInstances",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.availability",
            "path": "ImagingStudy.series.availability",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "InstanceAvailability"
                }
              ],
              "strength": "required",
              "description": "Availability of the resource",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/instance-availability"
              }
            }
          },
          {
            "id": "ImagingStudy.series.endpoint",
            "path": "ImagingStudy.series.endpoint",
            "comment": "Typical endpoint types include DICOM WADO-RS, which is used to retrieve DICOM instances in native or rendered (e.g., JPG, PNG) formats using a RESTful API; DICOM WADO-URI, which can similarly retrieve native or rendered instances, except using an HTTP query-based approach; and DICOM QIDO-RS, which allows RESTful query for DICOM information without retrieving the actual instances.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.bodySite",
            "path": "ImagingStudy.series.bodySite",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "ImagingStudy.series.laterality",
            "path": "ImagingStudy.series.laterality",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Laterality"
                }
              ],
              "strength": "example",
              "description": "Codes describing body site laterality (left, right, etc.).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/bodysite-laterality"
              }
            }
          },
          {
            "id": "ImagingStudy.series.started",
            "path": "ImagingStudy.series.started",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.performer",
            "path": "ImagingStudy.series.performer",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImagingStudy.series.instance",
            "path": "ImagingStudy.series.instance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ImagingStudy.series.instance.uid",
            "path": "ImagingStudy.series.instance.uid",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueOid": "urn:oid:2.16.124.113543.6003.189642796.63084.16748.2599092903"
              }
            ]
          },
          {
            "id": "ImagingStudy.series.instance.number",
            "path": "ImagingStudy.series.instance.number",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueUnsignedInt": 1
              }
            ]
          },
          {
            "id": "ImagingStudy.series.instance.sopClass",
            "path": "ImagingStudy.series.instance.sopClass",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "oid"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueOid": "urn:oid:1.2.840.10008.5.1.4.1.1.2"
              }
            ]
          },
          {
            "id": "ImagingStudy.series.instance.title",
            "path": "ImagingStudy.series.instance.title",
            "comment": "Particularly for post-acquisition analytic objects, such as SR, presentation states, value mapping, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Immunization",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Immunization",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pher"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Immunization",
      "name": "Immunization",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Immunization",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Immunization",
            "path": "Immunization",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "imm-2",
                "severity": "error",
                "human": "If immunization was administered (notGiven=false) then explanation.reasonNotGiven SHALL be absent.",
                "expression": "(notGiven = true) or explanation.reasonNotGiven.empty()",
                "xpath": "not(f:notGiven/@value=false() and exists(f:explanation/f:reasonNotGiven))"
              },
              {
                "key": "imm-1",
                "severity": "error",
                "human": "If immunization was not administered (notGiven=true) then there SHALL be no reaction nor explanation.reason present",
                "expression": "(notGiven = true).not() or (reaction.empty() and explanation.reason.empty())",
                "xpath": "not(f:notGiven/@value=true() and (count(f:reaction) > 0 or exists(f:explanation/f:reason)))"
              }
            ]
          },
          {
            "id": "Immunization.id",
            "path": "Immunization.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Immunization.meta",
            "path": "Immunization.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Immunization.implicitRules",
            "path": "Immunization.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Immunization.language",
            "path": "Immunization.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Immunization.text",
            "path": "Immunization.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Immunization.contained",
            "path": "Immunization.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Immunization.extension",
            "path": "Immunization.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Immunization.modifierExtension",
            "path": "Immunization.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Immunization.identifier",
            "path": "Immunization.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Immunization.status",
            "path": "Immunization.status",
            "comment": "Will generally be set to show that the immunization has been completed.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationStatus"
                }
              ],
              "strength": "required",
              "description": "A set of codes indicating the current status of an Immunization",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-status"
              }
            }
          },
          {
            "id": "Immunization.notGiven",
            "path": "Immunization.notGiven",
            "comment": "This element is labeled as a modifier because it indicates that an immunization didn't happen.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Immunization.vaccineCode",
            "path": "Immunization.vaccineCode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VaccineCode"
                }
              ],
              "strength": "example",
              "description": "The code for vaccine product administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vaccine-code"
              }
            }
          },
          {
            "id": "Immunization.patient",
            "path": "Immunization.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "Immunization.encounter",
            "path": "Immunization.encounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          },
          {
            "id": "Immunization.date",
            "path": "Immunization.date",
            "comment": "When immunizations are given a specific date and time should always be known.   When immunizations are patient reported, a specific date might not be known.  Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Immunization.primarySource",
            "path": "Immunization.primarySource",
            "comment": "Reflects the “reliability” of the content.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Immunization.reportOrigin",
            "path": "Immunization.reportOrigin",
            "comment": "Should not be populated if primarySource = True, will not be required even if primarySource = False.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationReportOrigin"
                }
              ],
              "strength": "example",
              "description": "The source of the data for a record which is not from a primary source.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-origin"
              }
            }
          },
          {
            "id": "Immunization.location",
            "path": "Immunization.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Immunization.manufacturer",
            "path": "Immunization.manufacturer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Immunization.lotNumber",
            "path": "Immunization.lotNumber",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Immunization.expirationDate",
            "path": "Immunization.expirationDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Immunization.site",
            "path": "Immunization.site",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationSite"
                }
              ],
              "strength": "example",
              "description": "The site at which the vaccine was administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-site"
              }
            }
          },
          {
            "id": "Immunization.route",
            "path": "Immunization.route",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationRoute"
                }
              ],
              "strength": "example",
              "description": "The route by which the vaccine was administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-route"
              }
            }
          },
          {
            "id": "Immunization.doseQuantity",
            "path": "Immunization.doseQuantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Immunization.practitioner",
            "path": "Immunization.practitioner",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Immunization.practitioner.id",
            "path": "Immunization.practitioner.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Immunization.practitioner.extension",
            "path": "Immunization.practitioner.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Immunization.practitioner.modifierExtension",
            "path": "Immunization.practitioner.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Immunization.practitioner.role",
            "path": "Immunization.practitioner.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationRole"
                }
              ],
              "strength": "extensible",
              "description": "The role a practitioner plays in the immunization event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-role"
              }
            }
          },
          {
            "id": "Immunization.practitioner.actor",
            "path": "Immunization.practitioner.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Immunization.note",
            "path": "Immunization.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Immunization.explanation",
            "path": "Immunization.explanation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Immunization.explanation.id",
            "path": "Immunization.explanation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Immunization.explanation.extension",
            "path": "Immunization.explanation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Immunization.explanation.modifierExtension",
            "path": "Immunization.explanation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Immunization.explanation.reason",
            "path": "Immunization.explanation.reason",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationReason"
                }
              ],
              "strength": "example",
              "description": "The reason why a vaccine was administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-reason"
              }
            }
          },
          {
            "id": "Immunization.explanation.reasonNotGiven",
            "path": "Immunization.explanation.reasonNotGiven",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NoImmunizationReason"
                }
              ],
              "strength": "example",
              "description": "The reason why a vaccine was not administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/no-immunization-reason"
              }
            }
          },
          {
            "id": "Immunization.reaction",
            "path": "Immunization.reaction",
            "comment": "A reaction may be an indication of an allergy or intolerance and, if this is determined to be the case,  it should be recorded as a new [AllergyIntolerance](allergyintolerance.html) resource instance as most systems will not query against  past Immunization.reaction elements.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Immunization.reaction.id",
            "path": "Immunization.reaction.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Immunization.reaction.extension",
            "path": "Immunization.reaction.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Immunization.reaction.modifierExtension",
            "path": "Immunization.reaction.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Immunization.reaction.date",
            "path": "Immunization.reaction.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Immunization.reaction.detail",
            "path": "Immunization.reaction.detail",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ]
          },
          {
            "id": "Immunization.reaction.reported",
            "path": "Immunization.reaction.reported",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol",
            "path": "Immunization.vaccinationProtocol",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.id",
            "path": "Immunization.vaccinationProtocol.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.extension",
            "path": "Immunization.vaccinationProtocol.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.modifierExtension",
            "path": "Immunization.vaccinationProtocol.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Immunization.vaccinationProtocol.doseSequence",
            "path": "Immunization.vaccinationProtocol.doseSequence",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.description",
            "path": "Immunization.vaccinationProtocol.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.authority",
            "path": "Immunization.vaccinationProtocol.authority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.series",
            "path": "Immunization.vaccinationProtocol.series",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.seriesDoses",
            "path": "Immunization.vaccinationProtocol.seriesDoses",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.targetDisease",
            "path": "Immunization.vaccinationProtocol.targetDisease",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VaccinationProtocoltargetDisease"
                }
              ],
              "strength": "example",
              "description": "The disease target of the vaccination protocol",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vaccination-protocol-dose-target"
              }
            }
          },
          {
            "id": "Immunization.vaccinationProtocol.doseStatus",
            "path": "Immunization.vaccinationProtocol.doseStatus",
            "comment": "May need to differentiate between status declarations by a provider vs. a CDS engine.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VaccinationProtocolDoseStatus"
                }
              ],
              "strength": "example",
              "description": "The status of the vaccination protocol (i.e. should this count)",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vaccination-protocol-dose-status"
              }
            }
          },
          {
            "id": "Immunization.vaccinationProtocol.doseStatusReason",
            "path": "Immunization.vaccinationProtocol.doseStatusReason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VaccinationProtocolDoseStatusReason"
                }
              ],
              "strength": "example",
              "description": "The reason for the determining if a vaccination should count or why vaccination should not count.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vaccination-protocol-dose-status-reason"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Immunization",
            "path": "Immunization",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "imm-2",
                "severity": "error",
                "human": "If immunization was administered (notGiven=false) then explanation.reasonNotGiven SHALL be absent.",
                "expression": "(notGiven = true) or explanation.reasonNotGiven.empty()",
                "xpath": "not(f:notGiven/@value=false() and exists(f:explanation/f:reasonNotGiven))"
              },
              {
                "key": "imm-1",
                "severity": "error",
                "human": "If immunization was not administered (notGiven=true) then there SHALL be no reaction nor explanation.reason present",
                "expression": "(notGiven = true).not() or (reaction.empty() and explanation.reason.empty())",
                "xpath": "not(f:notGiven/@value=true() and (count(f:reaction) > 0 or exists(f:explanation/f:reason)))"
              }
            ]
          },
          {
            "id": "Immunization.identifier",
            "path": "Immunization.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Immunization.status",
            "path": "Immunization.status",
            "comment": "Will generally be set to show that the immunization has been completed.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationStatus"
                }
              ],
              "strength": "required",
              "description": "A set of codes indicating the current status of an Immunization",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-status"
              }
            }
          },
          {
            "id": "Immunization.notGiven",
            "path": "Immunization.notGiven",
            "comment": "This element is labeled as a modifier because it indicates that an immunization didn't happen.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Immunization.vaccineCode",
            "path": "Immunization.vaccineCode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VaccineCode"
                }
              ],
              "strength": "example",
              "description": "The code for vaccine product administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vaccine-code"
              }
            }
          },
          {
            "id": "Immunization.patient",
            "path": "Immunization.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "Immunization.encounter",
            "path": "Immunization.encounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          },
          {
            "id": "Immunization.date",
            "path": "Immunization.date",
            "comment": "When immunizations are given a specific date and time should always be known.   When immunizations are patient reported, a specific date might not be known.  Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Immunization.primarySource",
            "path": "Immunization.primarySource",
            "comment": "Reflects the “reliability” of the content.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Immunization.reportOrigin",
            "path": "Immunization.reportOrigin",
            "comment": "Should not be populated if primarySource = True, will not be required even if primarySource = False.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationReportOrigin"
                }
              ],
              "strength": "example",
              "description": "The source of the data for a record which is not from a primary source.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-origin"
              }
            }
          },
          {
            "id": "Immunization.location",
            "path": "Immunization.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Immunization.manufacturer",
            "path": "Immunization.manufacturer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Immunization.lotNumber",
            "path": "Immunization.lotNumber",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Immunization.expirationDate",
            "path": "Immunization.expirationDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Immunization.site",
            "path": "Immunization.site",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationSite"
                }
              ],
              "strength": "example",
              "description": "The site at which the vaccine was administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-site"
              }
            }
          },
          {
            "id": "Immunization.route",
            "path": "Immunization.route",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationRoute"
                }
              ],
              "strength": "example",
              "description": "The route by which the vaccine was administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-route"
              }
            }
          },
          {
            "id": "Immunization.doseQuantity",
            "path": "Immunization.doseQuantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Immunization.practitioner",
            "path": "Immunization.practitioner",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Immunization.practitioner.role",
            "path": "Immunization.practitioner.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationRole"
                }
              ],
              "strength": "extensible",
              "description": "The role a practitioner plays in the immunization event",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-role"
              }
            }
          },
          {
            "id": "Immunization.practitioner.actor",
            "path": "Immunization.practitioner.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Immunization.note",
            "path": "Immunization.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Immunization.explanation",
            "path": "Immunization.explanation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Immunization.explanation.reason",
            "path": "Immunization.explanation.reason",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationReason"
                }
              ],
              "strength": "example",
              "description": "The reason why a vaccine was administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-reason"
              }
            }
          },
          {
            "id": "Immunization.explanation.reasonNotGiven",
            "path": "Immunization.explanation.reasonNotGiven",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NoImmunizationReason"
                }
              ],
              "strength": "example",
              "description": "The reason why a vaccine was not administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/no-immunization-reason"
              }
            }
          },
          {
            "id": "Immunization.reaction",
            "path": "Immunization.reaction",
            "comment": "A reaction may be an indication of an allergy or intolerance and, if this is determined to be the case,  it should be recorded as a new [AllergyIntolerance](allergyintolerance.html) resource instance as most systems will not query against  past Immunization.reaction elements.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Immunization.reaction.date",
            "path": "Immunization.reaction.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Immunization.reaction.detail",
            "path": "Immunization.reaction.detail",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ]
          },
          {
            "id": "Immunization.reaction.reported",
            "path": "Immunization.reaction.reported",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol",
            "path": "Immunization.vaccinationProtocol",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.doseSequence",
            "path": "Immunization.vaccinationProtocol.doseSequence",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.description",
            "path": "Immunization.vaccinationProtocol.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.authority",
            "path": "Immunization.vaccinationProtocol.authority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.series",
            "path": "Immunization.vaccinationProtocol.series",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.seriesDoses",
            "path": "Immunization.vaccinationProtocol.seriesDoses",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Immunization.vaccinationProtocol.targetDisease",
            "path": "Immunization.vaccinationProtocol.targetDisease",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VaccinationProtocoltargetDisease"
                }
              ],
              "strength": "example",
              "description": "The disease target of the vaccination protocol",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vaccination-protocol-dose-target"
              }
            }
          },
          {
            "id": "Immunization.vaccinationProtocol.doseStatus",
            "path": "Immunization.vaccinationProtocol.doseStatus",
            "comment": "May need to differentiate between status declarations by a provider vs. a CDS engine.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VaccinationProtocolDoseStatus"
                }
              ],
              "strength": "example",
              "description": "The status of the vaccination protocol (i.e. should this count)",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vaccination-protocol-dose-status"
              }
            }
          },
          {
            "id": "Immunization.vaccinationProtocol.doseStatusReason",
            "path": "Immunization.vaccinationProtocol.doseStatusReason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VaccinationProtocolDoseStatusReason"
                }
              ],
              "strength": "example",
              "description": "The reason for the determining if a vaccination should count or why vaccination should not count.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vaccination-protocol-dose-status-reason"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ImmunizationRecommendation",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pher"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation",
      "name": "ImmunizationRecommendation",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ImmunizationRecommendation",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ImmunizationRecommendation",
            "path": "ImmunizationRecommendation",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.id",
            "path": "ImmunizationRecommendation.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.meta",
            "path": "ImmunizationRecommendation.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.implicitRules",
            "path": "ImmunizationRecommendation.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.language",
            "path": "ImmunizationRecommendation.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ImmunizationRecommendation.text",
            "path": "ImmunizationRecommendation.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ImmunizationRecommendation.contained",
            "path": "ImmunizationRecommendation.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.extension",
            "path": "ImmunizationRecommendation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.modifierExtension",
            "path": "ImmunizationRecommendation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ImmunizationRecommendation.identifier",
            "path": "ImmunizationRecommendation.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.patient",
            "path": "ImmunizationRecommendation.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.recommendation",
            "path": "ImmunizationRecommendation.recommendation",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "imr-1",
                "severity": "error",
                "human": "One of vaccineCode or targetDisease SHALL be present",
                "expression": "vaccineCode.exists() or targetDisease.exists()",
                "xpath": "exists(f:vaccineCode) or exists(f:targetDisease)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.recommendation.id",
            "path": "ImmunizationRecommendation.recommendation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.extension",
            "path": "ImmunizationRecommendation.recommendation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.modifierExtension",
            "path": "ImmunizationRecommendation.recommendation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.recommendation.date",
            "path": "ImmunizationRecommendation.recommendation.date",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.recommendation.vaccineCode",
            "path": "ImmunizationRecommendation.recommendation.vaccineCode",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VaccineCode"
                }
              ],
              "strength": "example",
              "description": "The type of vaccine administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vaccine-code"
              }
            }
          },
          {
            "id": "ImmunizationRecommendation.recommendation.targetDisease",
            "path": "ImmunizationRecommendation.recommendation.targetDisease",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TargetDisease"
                }
              ],
              "strength": "example",
              "description": "The disease that the recommended vaccination targets",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-recommendation-target-disease"
              }
            }
          },
          {
            "id": "ImmunizationRecommendation.recommendation.doseNumber",
            "path": "ImmunizationRecommendation.recommendation.doseNumber",
            "comment": "May need other dose concepts such as administered vs. valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.recommendation.forecastStatus",
            "path": "ImmunizationRecommendation.recommendation.forecastStatus",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationRecommendationStatus"
                }
              ],
              "strength": "example",
              "description": "The patient's status with respect to a vaccination protocol",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-recommendation-status"
              }
            }
          },
          {
            "id": "ImmunizationRecommendation.recommendation.dateCriterion",
            "path": "ImmunizationRecommendation.recommendation.dateCriterion",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.dateCriterion.id",
            "path": "ImmunizationRecommendation.recommendation.dateCriterion.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.dateCriterion.extension",
            "path": "ImmunizationRecommendation.recommendation.dateCriterion.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.dateCriterion.modifierExtension",
            "path": "ImmunizationRecommendation.recommendation.dateCriterion.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.recommendation.dateCriterion.code",
            "path": "ImmunizationRecommendation.recommendation.dateCriterion.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationRecommendationDateCriterion"
                }
              ],
              "strength": "example",
              "description": "Classifies date criterion with respect to conveying information about a patient's vaccination status (e.g. due date, latest to give date, etc.)",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-recommendation-date-criterion"
              }
            }
          },
          {
            "id": "ImmunizationRecommendation.recommendation.dateCriterion.value",
            "path": "ImmunizationRecommendation.recommendation.dateCriterion.value",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol",
            "path": "ImmunizationRecommendation.recommendation.protocol",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol.id",
            "path": "ImmunizationRecommendation.recommendation.protocol.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol.extension",
            "path": "ImmunizationRecommendation.recommendation.protocol.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol.modifierExtension",
            "path": "ImmunizationRecommendation.recommendation.protocol.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol.doseSequence",
            "path": "ImmunizationRecommendation.recommendation.protocol.doseSequence",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol.description",
            "path": "ImmunizationRecommendation.recommendation.protocol.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol.authority",
            "path": "ImmunizationRecommendation.recommendation.protocol.authority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol.series",
            "path": "ImmunizationRecommendation.recommendation.protocol.series",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.supportingImmunization",
            "path": "ImmunizationRecommendation.recommendation.supportingImmunization",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Immunization"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.supportingPatientInformation",
            "path": "ImmunizationRecommendation.recommendation.supportingPatientInformation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ImmunizationRecommendation",
            "path": "ImmunizationRecommendation",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ImmunizationRecommendation.identifier",
            "path": "ImmunizationRecommendation.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.patient",
            "path": "ImmunizationRecommendation.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.recommendation",
            "path": "ImmunizationRecommendation.recommendation",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "imr-1",
                "severity": "error",
                "human": "One of vaccineCode or targetDisease SHALL be present",
                "expression": "vaccineCode.exists() or targetDisease.exists()",
                "xpath": "exists(f:vaccineCode) or exists(f:targetDisease)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.recommendation.date",
            "path": "ImmunizationRecommendation.recommendation.date",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.recommendation.vaccineCode",
            "path": "ImmunizationRecommendation.recommendation.vaccineCode",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VaccineCode"
                }
              ],
              "strength": "example",
              "description": "The type of vaccine administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vaccine-code"
              }
            }
          },
          {
            "id": "ImmunizationRecommendation.recommendation.targetDisease",
            "path": "ImmunizationRecommendation.recommendation.targetDisease",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TargetDisease"
                }
              ],
              "strength": "example",
              "description": "The disease that the recommended vaccination targets",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-recommendation-target-disease"
              }
            }
          },
          {
            "id": "ImmunizationRecommendation.recommendation.doseNumber",
            "path": "ImmunizationRecommendation.recommendation.doseNumber",
            "comment": "May need other dose concepts such as administered vs. valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImmunizationRecommendation.recommendation.forecastStatus",
            "path": "ImmunizationRecommendation.recommendation.forecastStatus",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationRecommendationStatus"
                }
              ],
              "strength": "example",
              "description": "The patient's status with respect to a vaccination protocol",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-recommendation-status"
              }
            }
          },
          {
            "id": "ImmunizationRecommendation.recommendation.dateCriterion",
            "path": "ImmunizationRecommendation.recommendation.dateCriterion",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.dateCriterion.code",
            "path": "ImmunizationRecommendation.recommendation.dateCriterion.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ImmunizationRecommendationDateCriterion"
                }
              ],
              "strength": "example",
              "description": "Classifies date criterion with respect to conveying information about a patient's vaccination status (e.g. due date, latest to give date, etc.)",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/immunization-recommendation-date-criterion"
              }
            }
          },
          {
            "id": "ImmunizationRecommendation.recommendation.dateCriterion.value",
            "path": "ImmunizationRecommendation.recommendation.dateCriterion.value",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol",
            "path": "ImmunizationRecommendation.recommendation.protocol",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol.doseSequence",
            "path": "ImmunizationRecommendation.recommendation.protocol.doseSequence",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol.description",
            "path": "ImmunizationRecommendation.recommendation.protocol.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol.authority",
            "path": "ImmunizationRecommendation.recommendation.protocol.authority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.protocol.series",
            "path": "ImmunizationRecommendation.recommendation.protocol.series",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.supportingImmunization",
            "path": "ImmunizationRecommendation.recommendation.supportingImmunization",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Immunization"
              }
            ]
          },
          {
            "id": "ImmunizationRecommendation.recommendation.supportingPatientInformation",
            "path": "ImmunizationRecommendation.recommendation.supportingPatientInformation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ImplementationGuide",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ImplementationGuide",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ImplementationGuide",
      "name": "ImplementationGuide",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "An implementation guide is able to define default profiles that must apply to any use of a resource, so validation services may need to take one or more implementation guide resources when validating.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ImplementationGuide",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ImplementationGuide",
            "path": "ImplementationGuide",
            "min": 1,
            "max": "1",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ImplementationGuide.id",
            "path": "ImplementationGuide.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.meta",
            "path": "ImplementationGuide.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.implicitRules",
            "path": "ImplementationGuide.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.language",
            "path": "ImplementationGuide.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ImplementationGuide.text",
            "path": "ImplementationGuide.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ImplementationGuide.contained",
            "path": "ImplementationGuide.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ImplementationGuide.extension",
            "path": "ImplementationGuide.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImplementationGuide.modifierExtension",
            "path": "ImplementationGuide.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ImplementationGuide.url",
            "path": "ImplementationGuide.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.version",
            "path": "ImplementationGuide.version",
            "comment": "There may be different implementation guide instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the implementation guide with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.name",
            "path": "ImplementationGuide.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.status",
            "path": "ImplementationGuide.status",
            "comment": "Allows filtering of implementation guides that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired implementation guide without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "ImplementationGuide.experimental",
            "path": "ImplementationGuide.experimental",
            "comment": "Allows filtering of implementation guide that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental implementation guide in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.date",
            "path": "ImplementationGuide.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the implementation guide. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.publisher",
            "path": "ImplementationGuide.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the implementation guide is the organization or individual primarily responsible for the maintenance and upkeep of the implementation guide. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the implementation guide. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.contact",
            "path": "ImplementationGuide.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.description",
            "path": "ImplementationGuide.description",
            "comment": "This description can be used to capture details such as why the implementation guide was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the implementation guide as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ImplementationGuide.useContext",
            "path": "ImplementationGuide.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.jurisdiction",
            "path": "ImplementationGuide.jurisdiction",
            "comment": "It may be possible for the implementation guide to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ImplementationGuide.copyright",
            "path": "ImplementationGuide.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ImplementationGuide.fhirVersion",
            "path": "ImplementationGuide.fhirVersion",
            "comment": "An Implementation Guide should specify the target it applies to, as ImplementationGuides are rarely valid across multiple versions of FHIR.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.dependency",
            "path": "ImplementationGuide.dependency",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.dependency.id",
            "path": "ImplementationGuide.dependency.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.dependency.extension",
            "path": "ImplementationGuide.dependency.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImplementationGuide.dependency.modifierExtension",
            "path": "ImplementationGuide.dependency.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.dependency.type",
            "path": "ImplementationGuide.dependency.type",
            "comment": "For information about processing included guides, see [Including Guides]{implementationguide.html#include}.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GuideDependencyType"
                }
              ],
              "strength": "required",
              "description": "How a dependency is represented when the guide is published.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/guide-dependency-type"
              }
            }
          },
          {
            "id": "ImplementationGuide.dependency.uri",
            "path": "ImplementationGuide.dependency.uri",
            "comment": "When a guide is published, and the type is 'include', this will be a relative reference within the guide.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package",
            "path": "ImplementationGuide.package",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.id",
            "path": "ImplementationGuide.package.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.package.extension",
            "path": "ImplementationGuide.package.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImplementationGuide.package.modifierExtension",
            "path": "ImplementationGuide.package.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.name",
            "path": "ImplementationGuide.package.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.description",
            "path": "ImplementationGuide.package.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.package.resource",
            "path": "ImplementationGuide.package.resource",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.resource.id",
            "path": "ImplementationGuide.package.resource.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.package.resource.extension",
            "path": "ImplementationGuide.package.resource.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImplementationGuide.package.resource.modifierExtension",
            "path": "ImplementationGuide.package.resource.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.resource.example",
            "path": "ImplementationGuide.package.resource.example",
            "comment": "Typically, conformance resources and knowledge resources are directly part of the implementation guide, with their normal meaning, and patient linked resources are usually examples. However this is not always true.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.resource.name",
            "path": "ImplementationGuide.package.resource.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.resource.description",
            "path": "ImplementationGuide.package.resource.description",
            "comment": "This is mostly used with examples to explain why it is present (though they can have extensive comments in the examples).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.package.resource.acronym",
            "path": "ImplementationGuide.package.resource.acronym",
            "comment": "This is used when generating schematrons from profiles, for example, but has other uses. Publishing tooling may autogenerate this value, but a human assigned value is more useful. This value must be unique within an implementation guide (across included guides as well).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.package.resource.source[x]",
            "path": "ImplementationGuide.package.resource.source[x]",
            "comment": "Usually this is a relative URL that locates the resource within the implementation guide. If you authoring an implementation guide, and will publish it using the FHIR publication tooling, use a URI that may point to a resource, or to one of various alternative representations (e.g. spreadsheet). The tooling will convert this when it publishes it.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.resource.exampleFor",
            "path": "ImplementationGuide.package.resource.exampleFor",
            "comment": "Examples:\n* StructureDefinition -> Any\n* ValueSet -> expansion\n* OperationDefinition -> Parameters\n* Questionnaire -> QuestionnaireResponse.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ]
          },
          {
            "id": "ImplementationGuide.global",
            "path": "ImplementationGuide.global",
            "comment": "See [Default Profiles](implementationguide.html#default) for a discussion of which resources are 'covered' by an implementation guide.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.global.id",
            "path": "ImplementationGuide.global.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.global.extension",
            "path": "ImplementationGuide.global.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImplementationGuide.global.modifierExtension",
            "path": "ImplementationGuide.global.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.global.type",
            "path": "ImplementationGuide.global.type",
            "comment": "The type must match that of the profile that is referred to, but is made explicit here as a denormalization so that a system processing the implementation guide resource knows which resources the profile applies to even if the profile itself is not available.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "ImplementationGuide.global.profile",
            "path": "ImplementationGuide.global.profile",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.binary",
            "path": "ImplementationGuide.binary",
            "comment": "This is principally included for the FHIR publishing tool, but may be useful when extracting and reusing content from the implementation guide.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ImplementationGuide.page",
            "path": "ImplementationGuide.page",
            "comment": "Pages automatically become sections if they have sub-pages. By convention, the home page is called index.html.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.page.id",
            "path": "ImplementationGuide.page.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.page.extension",
            "path": "ImplementationGuide.page.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ImplementationGuide.page.modifierExtension",
            "path": "ImplementationGuide.page.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.page.source",
            "path": "ImplementationGuide.page.source",
            "comment": "The publishing tool will autogenerate source for list (source = n/a), and inject included implementations for include (source = uri of guide to include).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.page.title",
            "path": "ImplementationGuide.page.title",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.page.kind",
            "path": "ImplementationGuide.page.kind",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GuidePageKind"
                }
              ],
              "strength": "required",
              "description": "The kind of an included page.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/guide-page-kind"
              }
            }
          },
          {
            "id": "ImplementationGuide.page.type",
            "path": "ImplementationGuide.page.type",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "ImplementationGuide.page.package",
            "path": "ImplementationGuide.page.package",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.page.format",
            "path": "ImplementationGuide.page.format",
            "comment": "This is primarily for the publishing tool, that will convert all pages to html format. HTML pages are pre-processed, see xxxx.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MimeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The mime type of an attachment. Any valid mime type is allowed.",
              "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
            }
          },
          {
            "id": "ImplementationGuide.page.page",
            "path": "ImplementationGuide.page.page",
            "comment": "The implementation guide breadcrumbs are generated from this structure.",
            "min": 0,
            "max": "*",
            "contentReference": "#ImplementationGuide.page"
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ImplementationGuide",
            "path": "ImplementationGuide",
            "min": 1,
            "max": "1"
          },
          {
            "id": "ImplementationGuide.url",
            "path": "ImplementationGuide.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.version",
            "path": "ImplementationGuide.version",
            "comment": "There may be different implementation guide instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the implementation guide with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.name",
            "path": "ImplementationGuide.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.status",
            "path": "ImplementationGuide.status",
            "comment": "Allows filtering of implementation guides that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired implementation guide without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "ImplementationGuide.experimental",
            "path": "ImplementationGuide.experimental",
            "comment": "Allows filtering of implementation guide that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental implementation guide in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.date",
            "path": "ImplementationGuide.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the implementation guide. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.publisher",
            "path": "ImplementationGuide.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the implementation guide is the organization or individual primarily responsible for the maintenance and upkeep of the implementation guide. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the implementation guide. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.contact",
            "path": "ImplementationGuide.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.description",
            "path": "ImplementationGuide.description",
            "comment": "This description can be used to capture details such as why the implementation guide was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the implementation guide as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ImplementationGuide.useContext",
            "path": "ImplementationGuide.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.jurisdiction",
            "path": "ImplementationGuide.jurisdiction",
            "comment": "It may be possible for the implementation guide to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ImplementationGuide.copyright",
            "path": "ImplementationGuide.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ImplementationGuide.fhirVersion",
            "path": "ImplementationGuide.fhirVersion",
            "comment": "An Implementation Guide should specify the target it applies to, as ImplementationGuides are rarely valid across multiple versions of FHIR.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.dependency",
            "path": "ImplementationGuide.dependency",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.dependency.type",
            "path": "ImplementationGuide.dependency.type",
            "comment": "For information about processing included guides, see [Including Guides]{implementationguide.html#include}.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GuideDependencyType"
                }
              ],
              "strength": "required",
              "description": "How a dependency is represented when the guide is published.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/guide-dependency-type"
              }
            }
          },
          {
            "id": "ImplementationGuide.dependency.uri",
            "path": "ImplementationGuide.dependency.uri",
            "comment": "When a guide is published, and the type is 'include', this will be a relative reference within the guide.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package",
            "path": "ImplementationGuide.package",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.name",
            "path": "ImplementationGuide.package.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.description",
            "path": "ImplementationGuide.package.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.package.resource",
            "path": "ImplementationGuide.package.resource",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.resource.example",
            "path": "ImplementationGuide.package.resource.example",
            "comment": "Typically, conformance resources and knowledge resources are directly part of the implementation guide, with their normal meaning, and patient linked resources are usually examples. However this is not always true.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.resource.name",
            "path": "ImplementationGuide.package.resource.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.resource.description",
            "path": "ImplementationGuide.package.resource.description",
            "comment": "This is mostly used with examples to explain why it is present (though they can have extensive comments in the examples).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.package.resource.acronym",
            "path": "ImplementationGuide.package.resource.acronym",
            "comment": "This is used when generating schematrons from profiles, for example, but has other uses. Publishing tooling may autogenerate this value, but a human assigned value is more useful. This value must be unique within an implementation guide (across included guides as well).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.package.resource.source[x]",
            "path": "ImplementationGuide.package.resource.source[x]",
            "comment": "Usually this is a relative URL that locates the resource within the implementation guide. If you authoring an implementation guide, and will publish it using the FHIR publication tooling, use a URI that may point to a resource, or to one of various alternative representations (e.g. spreadsheet). The tooling will convert this when it publishes it.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.package.resource.exampleFor",
            "path": "ImplementationGuide.package.resource.exampleFor",
            "comment": "Examples:\n* StructureDefinition -> Any\n* ValueSet -> expansion\n* OperationDefinition -> Parameters\n* Questionnaire -> QuestionnaireResponse.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ]
          },
          {
            "id": "ImplementationGuide.global",
            "path": "ImplementationGuide.global",
            "comment": "See [Default Profiles](implementationguide.html#default) for a discussion of which resources are 'covered' by an implementation guide.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.global.type",
            "path": "ImplementationGuide.global.type",
            "comment": "The type must match that of the profile that is referred to, but is made explicit here as a denormalization so that a system processing the implementation guide resource knows which resources the profile applies to even if the profile itself is not available.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "ImplementationGuide.global.profile",
            "path": "ImplementationGuide.global.profile",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.binary",
            "path": "ImplementationGuide.binary",
            "comment": "This is principally included for the FHIR publishing tool, but may be useful when extracting and reusing content from the implementation guide.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ImplementationGuide.page",
            "path": "ImplementationGuide.page",
            "comment": "Pages automatically become sections if they have sub-pages. By convention, the home page is called index.html.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.page.source",
            "path": "ImplementationGuide.page.source",
            "comment": "The publishing tool will autogenerate source for list (source = n/a), and inject included implementations for include (source = uri of guide to include).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.page.title",
            "path": "ImplementationGuide.page.title",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ImplementationGuide.page.kind",
            "path": "ImplementationGuide.page.kind",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GuidePageKind"
                }
              ],
              "strength": "required",
              "description": "The kind of an included page.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/guide-page-kind"
              }
            }
          },
          {
            "id": "ImplementationGuide.page.type",
            "path": "ImplementationGuide.page.type",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "ImplementationGuide.page.package",
            "path": "ImplementationGuide.page.package",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ImplementationGuide.page.format",
            "path": "ImplementationGuide.page.format",
            "comment": "This is primarily for the publishing tool, that will convert all pages to html format. HTML pages are pre-processed, see xxxx.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MimeType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The mime type of an attachment. Any valid mime type is allowed.",
              "valueSetUri": "http://www.rfc-editor.org/bcp/bcp13.txt"
            }
          },
          {
            "id": "ImplementationGuide.page.page",
            "path": "ImplementationGuide.page.page",
            "comment": "The implementation guide breadcrumbs are generated from this structure.",
            "min": 0,
            "max": "*",
            "contentReference": "#ImplementationGuide.page"
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Library",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Library",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "cds"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Library",
      "name": "Library",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Library",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Library",
            "path": "Library",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Library.id",
            "path": "Library.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.meta",
            "path": "Library.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.implicitRules",
            "path": "Library.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Library.language",
            "path": "Library.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Library.text",
            "path": "Library.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Library.contained",
            "path": "Library.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Library.extension",
            "path": "Library.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Library.modifierExtension",
            "path": "Library.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Library.url",
            "path": "Library.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.identifier",
            "path": "Library.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this library outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.version",
            "path": "Library.version",
            "comment": "There may be different library instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the library with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.name",
            "path": "Library.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.title",
            "path": "Library.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.status",
            "path": "Library.status",
            "comment": "Allows filtering of librarys that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired library without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "Library.experimental",
            "path": "Library.experimental",
            "comment": "Allows filtering of library that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental library in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Library.type",
            "path": "Library.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "LibraryType"
                }
              ],
              "strength": "extensible",
              "description": "The type of knowledge asset this library contains",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/library-type"
              }
            }
          },
          {
            "id": "Library.date",
            "path": "Library.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the library. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.publisher",
            "path": "Library.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the library is the organization or individual primarily responsible for the maintenance and upkeep of the library. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the library. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.description",
            "path": "Library.description",
            "comment": "This description can be used to capture details such as why the library was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the library as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.purpose",
            "path": "Library.purpose",
            "comment": "This element does not describe the usage of the library Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this library.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Library.usage",
            "path": "Library.usage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Library.approvalDate",
            "path": "Library.approvalDate",
            "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Library.lastReviewDate",
            "path": "Library.lastReviewDate",
            "comment": "If specified, this is usually after the approval date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Library.effectivePeriod",
            "path": "Library.effectivePeriod",
            "comment": "The effective period for a library  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.useContext",
            "path": "Library.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.jurisdiction",
            "path": "Library.jurisdiction",
            "comment": "It may be possible for the library to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "Library.topic",
            "path": "Library.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DefinitionTopic"
                }
              ],
              "strength": "example",
              "description": "High-level categorization of the definition, used for searching, sorting, and filtering",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/definition-topic"
              }
            }
          },
          {
            "id": "Library.contributor",
            "path": "Library.contributor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Contributor"
              }
            ]
          },
          {
            "id": "Library.contact",
            "path": "Library.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.copyright",
            "path": "Library.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Library.relatedArtifact",
            "path": "Library.relatedArtifact",
            "comment": "Each related artifact is either an attachment, or a reference to another resource, but not both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "Library.parameter",
            "path": "Library.parameter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ParameterDefinition"
              }
            ]
          },
          {
            "id": "Library.dataRequirement",
            "path": "Library.dataRequirement",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "DataRequirement"
              }
            ]
          },
          {
            "id": "Library.content",
            "path": "Library.content",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Library",
            "path": "Library",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Library.url",
            "path": "Library.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.identifier",
            "path": "Library.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this library outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.version",
            "path": "Library.version",
            "comment": "There may be different library instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the library with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.name",
            "path": "Library.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.title",
            "path": "Library.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.status",
            "path": "Library.status",
            "comment": "Allows filtering of librarys that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired library without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "Library.experimental",
            "path": "Library.experimental",
            "comment": "Allows filtering of library that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental library in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Library.type",
            "path": "Library.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "LibraryType"
                }
              ],
              "strength": "extensible",
              "description": "The type of knowledge asset this library contains",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/library-type"
              }
            }
          },
          {
            "id": "Library.date",
            "path": "Library.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the library. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.publisher",
            "path": "Library.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the library is the organization or individual primarily responsible for the maintenance and upkeep of the library. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the library. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.description",
            "path": "Library.description",
            "comment": "This description can be used to capture details such as why the library was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the library as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.purpose",
            "path": "Library.purpose",
            "comment": "This element does not describe the usage of the library Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this library.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Library.usage",
            "path": "Library.usage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Library.approvalDate",
            "path": "Library.approvalDate",
            "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Library.lastReviewDate",
            "path": "Library.lastReviewDate",
            "comment": "If specified, this is usually after the approval date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Library.effectivePeriod",
            "path": "Library.effectivePeriod",
            "comment": "The effective period for a library  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.useContext",
            "path": "Library.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.jurisdiction",
            "path": "Library.jurisdiction",
            "comment": "It may be possible for the library to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "Library.topic",
            "path": "Library.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DefinitionTopic"
                }
              ],
              "strength": "example",
              "description": "High-level categorization of the definition, used for searching, sorting, and filtering",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/definition-topic"
              }
            }
          },
          {
            "id": "Library.contributor",
            "path": "Library.contributor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Contributor"
              }
            ]
          },
          {
            "id": "Library.contact",
            "path": "Library.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Library.copyright",
            "path": "Library.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Library.relatedArtifact",
            "path": "Library.relatedArtifact",
            "comment": "Each related artifact is either an attachment, or a reference to another resource, but not both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "Library.parameter",
            "path": "Library.parameter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ParameterDefinition"
              }
            ]
          },
          {
            "id": "Library.dataRequirement",
            "path": "Library.dataRequirement",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "DataRequirement"
              }
            ]
          },
          {
            "id": "Library.content",
            "path": "Library.content",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Linkage",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Linkage",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Linkage",
      "name": "Linkage",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Linkage",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Linkage",
            "path": "Linkage",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "lnk-1",
                "severity": "error",
                "human": "Must have at least two items",
                "expression": "item.count()>1",
                "xpath": "count(f:item)>1"
              }
            ]
          },
          {
            "id": "Linkage.id",
            "path": "Linkage.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Linkage.meta",
            "path": "Linkage.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Linkage.implicitRules",
            "path": "Linkage.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Linkage.language",
            "path": "Linkage.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Linkage.text",
            "path": "Linkage.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Linkage.contained",
            "path": "Linkage.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Linkage.extension",
            "path": "Linkage.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Linkage.modifierExtension",
            "path": "Linkage.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Linkage.active",
            "path": "Linkage.active",
            "comment": "If false, any asserted linkages should not be considered current/relevant/applicable.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isSummary": true
          },
          {
            "id": "Linkage.author",
            "path": "Linkage.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Linkage.item",
            "path": "Linkage.item",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "lnk-1"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Linkage.item.id",
            "path": "Linkage.item.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Linkage.item.extension",
            "path": "Linkage.item.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Linkage.item.modifierExtension",
            "path": "Linkage.item.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Linkage.item.type",
            "path": "Linkage.item.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "LinkageType"
                }
              ],
              "strength": "required",
              "description": "Used to distinguish different roles a resource can play within a set of linked resources",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/linkage-type"
              }
            }
          },
          {
            "id": "Linkage.item.resource",
            "path": "Linkage.item.resource",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Linkage",
            "path": "Linkage",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "lnk-1",
                "severity": "error",
                "human": "Must have at least two items",
                "expression": "item.count()>1",
                "xpath": "count(f:item)>1"
              }
            ]
          },
          {
            "id": "Linkage.active",
            "path": "Linkage.active",
            "comment": "If false, any asserted linkages should not be considered current/relevant/applicable.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isSummary": true
          },
          {
            "id": "Linkage.author",
            "path": "Linkage.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Linkage.item",
            "path": "Linkage.item",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "lnk-1"
            ],
            "isSummary": true
          },
          {
            "id": "Linkage.item.type",
            "path": "Linkage.item.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "LinkageType"
                }
              ],
              "strength": "required",
              "description": "Used to distinguish different roles a resource can play within a set of linked resources",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/linkage-type"
              }
            }
          },
          {
            "id": "Linkage.item.resource",
            "path": "Linkage.item.resource",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/List",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "List",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/List",
      "name": "List",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "List",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "List",
            "path": "List",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "lst-2",
                "severity": "error",
                "human": "The deleted flag can only be used if the mode of the list is \"changes\"",
                "expression": "mode = 'changes' or entry.deleted.empty()",
                "xpath": "(f:mode/@value = 'changes') or not(exists(f:entry/f:deleted))"
              },
              {
                "key": "lst-1",
                "severity": "error",
                "human": "A list can only have an emptyReason if it is empty",
                "expression": "emptyReason.empty() or entry.empty()",
                "xpath": "not(exists(f:emptyReason) and exists(f:entry))"
              }
            ]
          },
          {
            "id": "List.id",
            "path": "List.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "List.meta",
            "path": "List.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "List.implicitRules",
            "path": "List.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "List.language",
            "path": "List.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "List.text",
            "path": "List.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "List.contained",
            "path": "List.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "List.extension",
            "path": "List.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "List.modifierExtension",
            "path": "List.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "List.identifier",
            "path": "List.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "List.status",
            "path": "List.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ListStatus"
                }
              ],
              "strength": "required",
              "description": "The current state of the list",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-status"
              }
            }
          },
          {
            "id": "List.mode",
            "path": "List.mode",
            "comment": "This element is labeled as a modifier because a change list must not be mis-understood as a complete list.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ListMode"
                }
              ],
              "strength": "required",
              "description": "The processing mode that applies to this list",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-mode"
              }
            }
          },
          {
            "id": "List.title",
            "path": "List.title",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueString": "Dr. Jane's Patients"
              }
            ],
            "isSummary": true
          },
          {
            "id": "List.code",
            "path": "List.code",
            "comment": "If there is no code, the purpose of the list is implied where it is used, such as in a document section using Document.section.code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ListPurpose"
                }
              ],
              "strength": "example",
              "description": "What the purpose of a list is",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-example-codes"
              }
            }
          },
          {
            "id": "List.subject",
            "path": "List.subject",
            "comment": "Some purely arbitrary lists do not have a common subject, so this is optional.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "List.encounter",
            "path": "List.encounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          },
          {
            "id": "List.date",
            "path": "List.date",
            "comment": "The actual important date is the date of currency of the resources that were summarized, but it is usually assumed that these are current when the preparation occurs.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "List.source",
            "path": "List.source",
            "comment": "The primary source is the entity that made the decisions what items are in the list. This may be software or user.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "List.orderedBy",
            "path": "List.orderedBy",
            "comment": "Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ListOrder"
                }
              ],
              "strength": "preferred",
              "description": "What order applies to the items in a list",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-order"
              }
            }
          },
          {
            "id": "List.note",
            "path": "List.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "List.entry",
            "path": "List.entry",
            "comment": "If there are no entries in the list, an emptyReason SHOULD be provided.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "lst-1"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "List.entry.id",
            "path": "List.entry.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "List.entry.extension",
            "path": "List.entry.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "List.entry.modifierExtension",
            "path": "List.entry.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "List.entry.flag",
            "path": "List.entry.flag",
            "comment": "The flag can only be understood in the context of the List.code. If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Deleted can only be used if the List.mode is \"changes\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ListItemFlag"
                }
              ],
              "strength": "example",
              "description": "Codes that provide further information about the reason and meaning of the item in the list",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-item-flag"
              }
            }
          },
          {
            "id": "List.entry.deleted",
            "path": "List.entry.deleted",
            "comment": "If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Both flag and deleted can only be used if the List.mode is \"changes\". A deleted entry should be displayed in narrative as deleted.\n\nThis element is labeled as a modifier because it indicates that an item is (to be) no longer in the list.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "condition": [
              "lst-2"
            ],
            "isModifier": true
          },
          {
            "id": "List.entry.date",
            "path": "List.entry.date",
            "comment": "This is only useful and meaningful when the mode is \"working\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "List.entry.item",
            "path": "List.entry.item",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "List.emptyReason",
            "path": "List.emptyReason",
            "comment": "The various reasons for an empty list make a significant interpretation to its interpretation. Note that this code is for use when the entire list has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "lst-1"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ListEmptyReason"
                }
              ],
              "strength": "preferred",
              "description": "If a list is empty, why it is empty",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-empty-reason"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "List",
            "path": "List",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "lst-2",
                "severity": "error",
                "human": "The deleted flag can only be used if the mode of the list is \"changes\"",
                "expression": "mode = 'changes' or entry.deleted.empty()",
                "xpath": "(f:mode/@value = 'changes') or not(exists(f:entry/f:deleted))"
              },
              {
                "key": "lst-1",
                "severity": "error",
                "human": "A list can only have an emptyReason if it is empty",
                "expression": "emptyReason.empty() or entry.empty()",
                "xpath": "not(exists(f:emptyReason) and exists(f:entry))"
              }
            ]
          },
          {
            "id": "List.identifier",
            "path": "List.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "List.status",
            "path": "List.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ListStatus"
                }
              ],
              "strength": "required",
              "description": "The current state of the list",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-status"
              }
            }
          },
          {
            "id": "List.mode",
            "path": "List.mode",
            "comment": "This element is labeled as a modifier because a change list must not be mis-understood as a complete list.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ListMode"
                }
              ],
              "strength": "required",
              "description": "The processing mode that applies to this list",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-mode"
              }
            }
          },
          {
            "id": "List.title",
            "path": "List.title",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "example": [
              {
                "label": "General",
                "valueString": "Dr. Jane's Patients"
              }
            ],
            "isSummary": true
          },
          {
            "id": "List.code",
            "path": "List.code",
            "comment": "If there is no code, the purpose of the list is implied where it is used, such as in a document section using Document.section.code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ListPurpose"
                }
              ],
              "strength": "example",
              "description": "What the purpose of a list is",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-example-codes"
              }
            }
          },
          {
            "id": "List.subject",
            "path": "List.subject",
            "comment": "Some purely arbitrary lists do not have a common subject, so this is optional.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "List.encounter",
            "path": "List.encounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          },
          {
            "id": "List.date",
            "path": "List.date",
            "comment": "The actual important date is the date of currency of the resources that were summarized, but it is usually assumed that these are current when the preparation occurs.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "List.source",
            "path": "List.source",
            "comment": "The primary source is the entity that made the decisions what items are in the list. This may be software or user.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "List.orderedBy",
            "path": "List.orderedBy",
            "comment": "Applications SHOULD render ordered lists in the order provided, but MAY allow users to re-order based on their own preferences as well. If there is no order specified, the order is unknown, though there may still be some order.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ListOrder"
                }
              ],
              "strength": "preferred",
              "description": "What order applies to the items in a list",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-order"
              }
            }
          },
          {
            "id": "List.note",
            "path": "List.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "List.entry",
            "path": "List.entry",
            "comment": "If there are no entries in the list, an emptyReason SHOULD be provided.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "lst-1"
            ]
          },
          {
            "id": "List.entry.flag",
            "path": "List.entry.flag",
            "comment": "The flag can only be understood in the context of the List.code. If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Deleted can only be used if the List.mode is \"changes\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ListItemFlag"
                }
              ],
              "strength": "example",
              "description": "Codes that provide further information about the reason and meaning of the item in the list",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-item-flag"
              }
            }
          },
          {
            "id": "List.entry.deleted",
            "path": "List.entry.deleted",
            "comment": "If the flag means that the entry has actually been deleted from the list, the deleted element SHALL be true. Both flag and deleted can only be used if the List.mode is \"changes\". A deleted entry should be displayed in narrative as deleted.\n\nThis element is labeled as a modifier because it indicates that an item is (to be) no longer in the list.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "condition": [
              "lst-2"
            ],
            "isModifier": true
          },
          {
            "id": "List.entry.date",
            "path": "List.entry.date",
            "comment": "This is only useful and meaningful when the mode is \"working\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "List.entry.item",
            "path": "List.entry.item",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "List.emptyReason",
            "path": "List.emptyReason",
            "comment": "The various reasons for an empty list make a significant interpretation to its interpretation. Note that this code is for use when the entire list has been suppressed, and not for when individual items are omitted - implementers may consider using a text note or a flag on an entry in these cases.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "lst-1"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ListEmptyReason"
                }
              ],
              "strength": "preferred",
              "description": "If a list is empty, why it is empty",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/list-empty-reason"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Location",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Location",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Location",
      "name": "Location",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Location",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Location",
            "path": "Location",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Location.id",
            "path": "Location.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Location.meta",
            "path": "Location.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Location.implicitRules",
            "path": "Location.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Location.language",
            "path": "Location.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Location.text",
            "path": "Location.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Location.contained",
            "path": "Location.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Location.extension",
            "path": "Location.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Location.modifierExtension",
            "path": "Location.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Location.identifier",
            "path": "Location.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Location.status",
            "path": "Location.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "LocationStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates whether the location is still in use.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/location-status"
              }
            }
          },
          {
            "id": "Location.operationalStatus",
            "path": "Location.operationalStatus",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OperationalStatus"
                }
              ],
              "strength": "preferred",
              "description": "The operational status if the location (where typically a bed/room)",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0116"
              }
            }
          },
          {
            "id": "Location.name",
            "path": "Location.name",
            "comment": "If the name of an location changes, consider putting the old name in the alias column so that it can still be located through searches.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Location.alias",
            "path": "Location.alias",
            "comment": "There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the location.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Location.description",
            "path": "Location.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Location.mode",
            "path": "Location.mode",
            "comment": "This is labeled as a modifer because whether or not the location is a class of locations changes how it can be used and understood.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "LocationMode"
                }
              ],
              "strength": "required",
              "description": "Indicates whether a resource instance represents a specific location or a class of locations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/location-mode"
              }
            }
          },
          {
            "id": "Location.type",
            "path": "Location.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "LocationType"
                }
              ],
              "strength": "extensible",
              "description": "Indicates the type of function performed at the location.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ServiceDeliveryLocationRoleType"
              }
            }
          },
          {
            "id": "Location.telecom",
            "path": "Location.telecom",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ]
          },
          {
            "id": "Location.address",
            "path": "Location.address",
            "comment": "This was kept as 0..1 as there is no use property on the address, so wouldn't be able to identify different address types.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Address"
              }
            ]
          },
          {
            "id": "Location.physicalType",
            "path": "Location.physicalType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PhysicalType"
                }
              ],
              "strength": "example",
              "description": "Physical form of the location",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/location-physical-type"
              }
            }
          },
          {
            "id": "Location.position",
            "path": "Location.position",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Location.position.id",
            "path": "Location.position.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Location.position.extension",
            "path": "Location.position.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Location.position.modifierExtension",
            "path": "Location.position.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Location.position.longitude",
            "path": "Location.position.longitude",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Location.position.latitude",
            "path": "Location.position.latitude",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Location.position.altitude",
            "path": "Location.position.altitude",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Location.managingOrganization",
            "path": "Location.managingOrganization",
            "comment": "This can also be used as the part of the organization hierarchy where this location provides services. These services can be defined through the HealthcareService resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Location.partOf",
            "path": "Location.partOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Location.endpoint",
            "path": "Location.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Location",
            "path": "Location",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Location.identifier",
            "path": "Location.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Location.status",
            "path": "Location.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "LocationStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates whether the location is still in use.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/location-status"
              }
            }
          },
          {
            "id": "Location.operationalStatus",
            "path": "Location.operationalStatus",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OperationalStatus"
                }
              ],
              "strength": "preferred",
              "description": "The operational status if the location (where typically a bed/room)",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0116"
              }
            }
          },
          {
            "id": "Location.name",
            "path": "Location.name",
            "comment": "If the name of an location changes, consider putting the old name in the alias column so that it can still be located through searches.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Location.alias",
            "path": "Location.alias",
            "comment": "There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the location.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Location.description",
            "path": "Location.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Location.mode",
            "path": "Location.mode",
            "comment": "This is labeled as a modifer because whether or not the location is a class of locations changes how it can be used and understood.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "LocationMode"
                }
              ],
              "strength": "required",
              "description": "Indicates whether a resource instance represents a specific location or a class of locations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/location-mode"
              }
            }
          },
          {
            "id": "Location.type",
            "path": "Location.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "LocationType"
                }
              ],
              "strength": "extensible",
              "description": "Indicates the type of function performed at the location.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ServiceDeliveryLocationRoleType"
              }
            }
          },
          {
            "id": "Location.telecom",
            "path": "Location.telecom",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ]
          },
          {
            "id": "Location.address",
            "path": "Location.address",
            "comment": "This was kept as 0..1 as there is no use property on the address, so wouldn't be able to identify different address types.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Address"
              }
            ]
          },
          {
            "id": "Location.physicalType",
            "path": "Location.physicalType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PhysicalType"
                }
              ],
              "strength": "example",
              "description": "Physical form of the location",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/location-physical-type"
              }
            }
          },
          {
            "id": "Location.position",
            "path": "Location.position",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Location.position.longitude",
            "path": "Location.position.longitude",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Location.position.latitude",
            "path": "Location.position.latitude",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Location.position.altitude",
            "path": "Location.position.altitude",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "Location.managingOrganization",
            "path": "Location.managingOrganization",
            "comment": "This can also be used as the part of the organization hierarchy where this location provides services. These services can be defined through the HealthcareService resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Location.partOf",
            "path": "Location.partOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Location.endpoint",
            "path": "Location.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Measure",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Measure",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "cqi"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Measure",
      "name": "Measure",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Measure",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Measure",
            "path": "Measure",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Measure.id",
            "path": "Measure.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.meta",
            "path": "Measure.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.implicitRules",
            "path": "Measure.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Measure.language",
            "path": "Measure.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Measure.text",
            "path": "Measure.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Measure.contained",
            "path": "Measure.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Measure.extension",
            "path": "Measure.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Measure.modifierExtension",
            "path": "Measure.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Measure.url",
            "path": "Measure.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.identifier",
            "path": "Measure.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this measure outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.version",
            "path": "Measure.version",
            "comment": "There may be different measure instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the measure with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.name",
            "path": "Measure.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.title",
            "path": "Measure.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.status",
            "path": "Measure.status",
            "comment": "Allows filtering of measures that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired measure without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "Measure.experimental",
            "path": "Measure.experimental",
            "comment": "Allows filtering of measure that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental measure in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Measure.date",
            "path": "Measure.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the measure. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.publisher",
            "path": "Measure.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the measure is the organization or individual primarily responsible for the maintenance and upkeep of the measure. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the measure. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.description",
            "path": "Measure.description",
            "comment": "This description can be used to capture details such as why the measure was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the measure as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.purpose",
            "path": "Measure.purpose",
            "comment": "This element does not describe the usage of the measure Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this measure.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Measure.usage",
            "path": "Measure.usage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.approvalDate",
            "path": "Measure.approvalDate",
            "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Measure.lastReviewDate",
            "path": "Measure.lastReviewDate",
            "comment": "If specified, this is usually after the approval date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Measure.effectivePeriod",
            "path": "Measure.effectivePeriod",
            "comment": "The effective period for a measure  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.useContext",
            "path": "Measure.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.jurisdiction",
            "path": "Measure.jurisdiction",
            "comment": "It may be possible for the measure to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "Measure.topic",
            "path": "Measure.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DefinitionTopic"
                }
              ],
              "strength": "example",
              "description": "High-level categorization of the definition, used for searching, sorting, and filtering",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/definition-topic"
              }
            }
          },
          {
            "id": "Measure.contributor",
            "path": "Measure.contributor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Contributor"
              }
            ]
          },
          {
            "id": "Measure.contact",
            "path": "Measure.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.copyright",
            "path": "Measure.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Measure.relatedArtifact",
            "path": "Measure.relatedArtifact",
            "comment": "Each related artifact is either an attachment, or a reference to another resource, but not both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "Measure.library",
            "path": "Measure.library",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Library"
              }
            ]
          },
          {
            "id": "Measure.disclaimer",
            "path": "Measure.disclaimer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.scoring",
            "path": "Measure.scoring",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasureScoring"
                }
              ],
              "strength": "extensible",
              "description": "The scoring type of the measure",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measure-scoring"
              }
            }
          },
          {
            "id": "Measure.compositeScoring",
            "path": "Measure.compositeScoring",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CompositeMeasureScoring"
                }
              ],
              "strength": "extensible",
              "description": "The composite scoring method of the measure",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/composite-measure-scoring"
              }
            }
          },
          {
            "id": "Measure.type",
            "path": "Measure.type",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasureType"
                }
              ],
              "strength": "extensible",
              "description": "The type of measure (includes codes from 2.16.840.1.113883.1.11.20368)",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measure-type"
              }
            }
          },
          {
            "id": "Measure.riskAdjustment",
            "path": "Measure.riskAdjustment",
            "comment": "Describes the method of adjusting for clinical severity and conditions present at the start of care that can influence patient outcomes for making valid comparisons of outcome measures across providers. Indicates whether an eMeasure is subject to the statistical process for reducing, removing, or clarifying the influences of confounding factors to allow more useful comparisons.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.rateAggregation",
            "path": "Measure.rateAggregation",
            "comment": "The measure rate for an organization or clinician is based upon the entities’ aggregate data and summarizes the performance of the entity over a given time period (e.g., monthly, quarterly, yearly). The aggregated data are derived from the results of a specific measure algorithm and, if appropriate, the application of specific risk adjustment models.  Can also be used to describe how to risk adjust the data based on supplemental data elements described in the eMeasure (e.g., pneumonia hospital measures antibiotic selection in the ICU versus non-ICU and then the roll-up of the two). This could be applied to aggregated cohort measure definitions (e.g., CDC's aggregate reporting for TB at the state level).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.rationale",
            "path": "Measure.rationale",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.clinicalRecommendationStatement",
            "path": "Measure.clinicalRecommendationStatement",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.improvementNotation",
            "path": "Measure.improvementNotation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.definition",
            "path": "Measure.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.guidance",
            "path": "Measure.guidance",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.set",
            "path": "Measure.set",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.group",
            "path": "Measure.group",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Measure.group.id",
            "path": "Measure.group.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.extension",
            "path": "Measure.group.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Measure.group.modifierExtension",
            "path": "Measure.group.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Measure.group.identifier",
            "path": "Measure.group.identifier",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Measure.group.name",
            "path": "Measure.group.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.description",
            "path": "Measure.group.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.population",
            "path": "Measure.group.population",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Measure.group.population.id",
            "path": "Measure.group.population.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.population.extension",
            "path": "Measure.group.population.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Measure.group.population.modifierExtension",
            "path": "Measure.group.population.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Measure.group.population.identifier",
            "path": "Measure.group.population.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Measure.group.population.code",
            "path": "Measure.group.population.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasurePopulationType"
                }
              ],
              "strength": "extensible",
              "description": "The type of population",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measure-population"
              }
            }
          },
          {
            "id": "Measure.group.population.name",
            "path": "Measure.group.population.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.population.description",
            "path": "Measure.group.population.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.population.criteria",
            "path": "Measure.group.population.criteria",
            "comment": "In the case of a continuous variable or ratio measure, this may be the name of a function that calculates the value of the individual observation for each patient or event in the population. For these types of measures, individual observations are reported as observation resources included in the evaluatedResources bundle for each patient. See the MeasureReport resource or the Quality Reporting topic for more information.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.stratifier",
            "path": "Measure.group.stratifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Measure.group.stratifier.id",
            "path": "Measure.group.stratifier.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.stratifier.extension",
            "path": "Measure.group.stratifier.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Measure.group.stratifier.modifierExtension",
            "path": "Measure.group.stratifier.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Measure.group.stratifier.identifier",
            "path": "Measure.group.stratifier.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Measure.group.stratifier.criteria",
            "path": "Measure.group.stratifier.criteria",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.stratifier.path",
            "path": "Measure.group.stratifier.path",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.supplementalData",
            "path": "Measure.supplementalData",
            "comment": "Note that supplemental data are reported as observations for each patient and included in the evaluatedResources bundle. See the MeasureReport resource or the Quality Reporting topic for more information.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Measure.supplementalData.id",
            "path": "Measure.supplementalData.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.supplementalData.extension",
            "path": "Measure.supplementalData.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Measure.supplementalData.modifierExtension",
            "path": "Measure.supplementalData.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Measure.supplementalData.identifier",
            "path": "Measure.supplementalData.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Measure.supplementalData.usage",
            "path": "Measure.supplementalData.usage",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasureDataUsage"
                }
              ],
              "strength": "extensible",
              "description": "The intended usage for supplemental data elements in the measure",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measure-data-usage"
              }
            }
          },
          {
            "id": "Measure.supplementalData.criteria",
            "path": "Measure.supplementalData.criteria",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.supplementalData.path",
            "path": "Measure.supplementalData.path",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Measure",
            "path": "Measure",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Measure.url",
            "path": "Measure.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.identifier",
            "path": "Measure.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this measure outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.version",
            "path": "Measure.version",
            "comment": "There may be different measure instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the measure with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.name",
            "path": "Measure.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.title",
            "path": "Measure.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.status",
            "path": "Measure.status",
            "comment": "Allows filtering of measures that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired measure without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "Measure.experimental",
            "path": "Measure.experimental",
            "comment": "Allows filtering of measure that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental measure in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Measure.date",
            "path": "Measure.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the measure. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.publisher",
            "path": "Measure.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the measure is the organization or individual primarily responsible for the maintenance and upkeep of the measure. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the measure. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.description",
            "path": "Measure.description",
            "comment": "This description can be used to capture details such as why the measure was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the measure as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.purpose",
            "path": "Measure.purpose",
            "comment": "This element does not describe the usage of the measure Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this measure.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Measure.usage",
            "path": "Measure.usage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.approvalDate",
            "path": "Measure.approvalDate",
            "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Measure.lastReviewDate",
            "path": "Measure.lastReviewDate",
            "comment": "If specified, this is usually after the approval date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Measure.effectivePeriod",
            "path": "Measure.effectivePeriod",
            "comment": "The effective period for a measure  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.useContext",
            "path": "Measure.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.jurisdiction",
            "path": "Measure.jurisdiction",
            "comment": "It may be possible for the measure to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "Measure.topic",
            "path": "Measure.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DefinitionTopic"
                }
              ],
              "strength": "example",
              "description": "High-level categorization of the definition, used for searching, sorting, and filtering",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/definition-topic"
              }
            }
          },
          {
            "id": "Measure.contributor",
            "path": "Measure.contributor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Contributor"
              }
            ]
          },
          {
            "id": "Measure.contact",
            "path": "Measure.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.copyright",
            "path": "Measure.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Measure.relatedArtifact",
            "path": "Measure.relatedArtifact",
            "comment": "Each related artifact is either an attachment, or a reference to another resource, but not both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "Measure.library",
            "path": "Measure.library",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Library"
              }
            ]
          },
          {
            "id": "Measure.disclaimer",
            "path": "Measure.disclaimer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.scoring",
            "path": "Measure.scoring",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasureScoring"
                }
              ],
              "strength": "extensible",
              "description": "The scoring type of the measure",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measure-scoring"
              }
            }
          },
          {
            "id": "Measure.compositeScoring",
            "path": "Measure.compositeScoring",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "CompositeMeasureScoring"
                }
              ],
              "strength": "extensible",
              "description": "The composite scoring method of the measure",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/composite-measure-scoring"
              }
            }
          },
          {
            "id": "Measure.type",
            "path": "Measure.type",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasureType"
                }
              ],
              "strength": "extensible",
              "description": "The type of measure (includes codes from 2.16.840.1.113883.1.11.20368)",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measure-type"
              }
            }
          },
          {
            "id": "Measure.riskAdjustment",
            "path": "Measure.riskAdjustment",
            "comment": "Describes the method of adjusting for clinical severity and conditions present at the start of care that can influence patient outcomes for making valid comparisons of outcome measures across providers. Indicates whether an eMeasure is subject to the statistical process for reducing, removing, or clarifying the influences of confounding factors to allow more useful comparisons.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.rateAggregation",
            "path": "Measure.rateAggregation",
            "comment": "The measure rate for an organization or clinician is based upon the entities’ aggregate data and summarizes the performance of the entity over a given time period (e.g., monthly, quarterly, yearly). The aggregated data are derived from the results of a specific measure algorithm and, if appropriate, the application of specific risk adjustment models.  Can also be used to describe how to risk adjust the data based on supplemental data elements described in the eMeasure (e.g., pneumonia hospital measures antibiotic selection in the ICU versus non-ICU and then the roll-up of the two). This could be applied to aggregated cohort measure definitions (e.g., CDC's aggregate reporting for TB at the state level).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.rationale",
            "path": "Measure.rationale",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.clinicalRecommendationStatement",
            "path": "Measure.clinicalRecommendationStatement",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.improvementNotation",
            "path": "Measure.improvementNotation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.definition",
            "path": "Measure.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.guidance",
            "path": "Measure.guidance",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.set",
            "path": "Measure.set",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Measure.group",
            "path": "Measure.group",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Measure.group.identifier",
            "path": "Measure.group.identifier",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Measure.group.name",
            "path": "Measure.group.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.description",
            "path": "Measure.group.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.population",
            "path": "Measure.group.population",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Measure.group.population.identifier",
            "path": "Measure.group.population.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Measure.group.population.code",
            "path": "Measure.group.population.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasurePopulationType"
                }
              ],
              "strength": "extensible",
              "description": "The type of population",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measure-population"
              }
            }
          },
          {
            "id": "Measure.group.population.name",
            "path": "Measure.group.population.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.population.description",
            "path": "Measure.group.population.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.population.criteria",
            "path": "Measure.group.population.criteria",
            "comment": "In the case of a continuous variable or ratio measure, this may be the name of a function that calculates the value of the individual observation for each patient or event in the population. For these types of measures, individual observations are reported as observation resources included in the evaluatedResources bundle for each patient. See the MeasureReport resource or the Quality Reporting topic for more information.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.stratifier",
            "path": "Measure.group.stratifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Measure.group.stratifier.identifier",
            "path": "Measure.group.stratifier.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Measure.group.stratifier.criteria",
            "path": "Measure.group.stratifier.criteria",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.group.stratifier.path",
            "path": "Measure.group.stratifier.path",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.supplementalData",
            "path": "Measure.supplementalData",
            "comment": "Note that supplemental data are reported as observations for each patient and included in the evaluatedResources bundle. See the MeasureReport resource or the Quality Reporting topic for more information.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Measure.supplementalData.identifier",
            "path": "Measure.supplementalData.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Measure.supplementalData.usage",
            "path": "Measure.supplementalData.usage",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasureDataUsage"
                }
              ],
              "strength": "extensible",
              "description": "The intended usage for supplemental data elements in the measure",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measure-data-usage"
              }
            }
          },
          {
            "id": "Measure.supplementalData.criteria",
            "path": "Measure.supplementalData.criteria",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Measure.supplementalData.path",
            "path": "Measure.supplementalData.path",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/MeasureReport",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "MeasureReport",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "cqi"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/MeasureReport",
      "name": "MeasureReport",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "MeasureReport",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "MeasureReport",
            "path": "MeasureReport",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "MeasureReport.id",
            "path": "MeasureReport.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.meta",
            "path": "MeasureReport.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.implicitRules",
            "path": "MeasureReport.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MeasureReport.language",
            "path": "MeasureReport.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "MeasureReport.text",
            "path": "MeasureReport.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "MeasureReport.contained",
            "path": "MeasureReport.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "MeasureReport.extension",
            "path": "MeasureReport.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MeasureReport.modifierExtension",
            "path": "MeasureReport.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "MeasureReport.identifier",
            "path": "MeasureReport.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 v3 II data type - e.g. to identify this {{title}} outside of FHIR, where the logical URL is not possible to use.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.status",
            "path": "MeasureReport.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasureReportStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the measure report",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measure-report-status"
              }
            }
          },
          {
            "id": "MeasureReport.type",
            "path": "MeasureReport.type",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasureReportType"
                }
              ],
              "strength": "required",
              "description": "The type of the measure report",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measure-report-type"
              }
            }
          },
          {
            "id": "MeasureReport.measure",
            "path": "MeasureReport.measure",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Measure"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.patient",
            "path": "MeasureReport.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.date",
            "path": "MeasureReport.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.reportingOrganization",
            "path": "MeasureReport.reportingOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.period",
            "path": "MeasureReport.period",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.group",
            "path": "MeasureReport.group",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.id",
            "path": "MeasureReport.group.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MeasureReport.group.extension",
            "path": "MeasureReport.group.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MeasureReport.group.modifierExtension",
            "path": "MeasureReport.group.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MeasureReport.group.identifier",
            "path": "MeasureReport.group.identifier",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.population",
            "path": "MeasureReport.group.population",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.population.id",
            "path": "MeasureReport.group.population.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MeasureReport.group.population.extension",
            "path": "MeasureReport.group.population.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MeasureReport.group.population.modifierExtension",
            "path": "MeasureReport.group.population.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MeasureReport.group.population.identifier",
            "path": "MeasureReport.group.population.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.group.population.code",
            "path": "MeasureReport.group.population.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasurePopulation"
                }
              ],
              "strength": "extensible",
              "description": "The type of population (e.g. initial, numerator, denominator, etc.)",
              "valueSetUri": "http://hl7.org/fhir/ValueSet/measure-population"
            }
          },
          {
            "id": "MeasureReport.group.population.count",
            "path": "MeasureReport.group.population.count",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.population.patients",
            "path": "MeasureReport.group.population.patients",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/List"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.measureScore",
            "path": "MeasureReport.group.measureScore",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.group.stratifier",
            "path": "MeasureReport.group.stratifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.id",
            "path": "MeasureReport.group.stratifier.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MeasureReport.group.stratifier.extension",
            "path": "MeasureReport.group.stratifier.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MeasureReport.group.stratifier.modifierExtension",
            "path": "MeasureReport.group.stratifier.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MeasureReport.group.stratifier.identifier",
            "path": "MeasureReport.group.stratifier.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.stratum",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "StratifierGroup"
              }
            ],
            "path": "MeasureReport.group.stratifier.stratum",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.id",
            "path": "MeasureReport.group.stratifier.stratum.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.extension",
            "path": "MeasureReport.group.stratifier.stratum.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.modifierExtension",
            "path": "MeasureReport.group.stratifier.stratum.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.value",
            "path": "MeasureReport.group.stratifier.stratum.value",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "StratifierGroupPopulation"
              }
            ],
            "path": "MeasureReport.group.stratifier.stratum.population",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population.id",
            "path": "MeasureReport.group.stratifier.stratum.population.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population.extension",
            "path": "MeasureReport.group.stratifier.stratum.population.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population.modifierExtension",
            "path": "MeasureReport.group.stratifier.stratum.population.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population.identifier",
            "path": "MeasureReport.group.stratifier.stratum.population.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population.code",
            "path": "MeasureReport.group.stratifier.stratum.population.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasurePopulation"
                }
              ],
              "strength": "extensible",
              "description": "The type of population (e.g. initial, numerator, denominator, etc.)",
              "valueSetUri": "http://hl7.org/fhir/ValueSet/measure-population"
            }
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population.count",
            "path": "MeasureReport.group.stratifier.stratum.population.count",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population.patients",
            "path": "MeasureReport.group.stratifier.stratum.population.patients",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/List"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.measureScore",
            "path": "MeasureReport.group.stratifier.stratum.measureScore",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.evaluatedResources",
            "path": "MeasureReport.evaluatedResources",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Bundle"
              }
            ],
            "isSummary": false
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "MeasureReport",
            "path": "MeasureReport",
            "min": 0,
            "max": "*"
          },
          {
            "id": "MeasureReport.identifier",
            "path": "MeasureReport.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 v3 II data type - e.g. to identify this {{title}} outside of FHIR, where the logical URL is not possible to use.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.status",
            "path": "MeasureReport.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasureReportStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the measure report",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measure-report-status"
              }
            }
          },
          {
            "id": "MeasureReport.type",
            "path": "MeasureReport.type",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasureReportType"
                }
              ],
              "strength": "required",
              "description": "The type of the measure report",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/measure-report-type"
              }
            }
          },
          {
            "id": "MeasureReport.measure",
            "path": "MeasureReport.measure",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Measure"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.patient",
            "path": "MeasureReport.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.date",
            "path": "MeasureReport.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.reportingOrganization",
            "path": "MeasureReport.reportingOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.period",
            "path": "MeasureReport.period",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.group",
            "path": "MeasureReport.group",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.identifier",
            "path": "MeasureReport.group.identifier",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.population",
            "path": "MeasureReport.group.population",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.population.identifier",
            "path": "MeasureReport.group.population.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.group.population.code",
            "path": "MeasureReport.group.population.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasurePopulation"
                }
              ],
              "strength": "extensible",
              "description": "The type of population (e.g. initial, numerator, denominator, etc.)",
              "valueSetUri": "http://hl7.org/fhir/ValueSet/measure-population"
            }
          },
          {
            "id": "MeasureReport.group.population.count",
            "path": "MeasureReport.group.population.count",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.population.patients",
            "path": "MeasureReport.group.population.patients",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/List"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.measureScore",
            "path": "MeasureReport.group.measureScore",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.group.stratifier",
            "path": "MeasureReport.group.stratifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.identifier",
            "path": "MeasureReport.group.stratifier.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.stratum",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "StratifierGroup"
              }
            ],
            "path": "MeasureReport.group.stratifier.stratum",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.value",
            "path": "MeasureReport.group.stratifier.stratum.value",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "StratifierGroupPopulation"
              }
            ],
            "path": "MeasureReport.group.stratifier.stratum.population",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population.identifier",
            "path": "MeasureReport.group.stratifier.stratum.population.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population.code",
            "path": "MeasureReport.group.stratifier.stratum.population.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MeasurePopulation"
                }
              ],
              "strength": "extensible",
              "description": "The type of population (e.g. initial, numerator, denominator, etc.)",
              "valueSetUri": "http://hl7.org/fhir/ValueSet/measure-population"
            }
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population.count",
            "path": "MeasureReport.group.stratifier.stratum.population.count",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.population.patients",
            "path": "MeasureReport.group.stratifier.stratum.population.patients",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/List"
              }
            ],
            "isSummary": false
          },
          {
            "id": "MeasureReport.group.stratifier.stratum.measureScore",
            "path": "MeasureReport.group.stratifier.stratum.measureScore",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MeasureReport.evaluatedResources",
            "path": "MeasureReport.evaluatedResources",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Bundle"
              }
            ],
            "isSummary": false
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Media",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Media",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Media",
      "name": "Media",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Media",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Media",
            "path": "Media",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "mda-1",
                "severity": "error",
                "human": "Height can only be used for a photo or video",
                "expression": "height.empty() or type != 'audio'",
                "xpath": "not(f:type/@value='audio') or not(f:height)"
              },
              {
                "key": "mda-2",
                "severity": "error",
                "human": "Width can only be used for a photo or video",
                "expression": "width.empty() or type != 'audio'",
                "xpath": "not(f:type/@value='audio') or not(f:width)"
              },
              {
                "key": "mda-3",
                "severity": "error",
                "human": "Frames can only be used for a photo",
                "expression": "frames.empty() or type = 'photo'",
                "xpath": "(f:type/@value='photo') or not(f:frames)"
              },
              {
                "key": "mda-4",
                "severity": "error",
                "human": "Duration can only be used for an audio or a video",
                "expression": "duration.empty() or type != 'photo'",
                "xpath": "not(f:type/@value='photo') or not(f:duration)"
              }
            ]
          },
          {
            "id": "Media.id",
            "path": "Media.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.meta",
            "path": "Media.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.implicitRules",
            "path": "Media.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Media.language",
            "path": "Media.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Media.text",
            "path": "Media.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Media.contained",
            "path": "Media.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Media.extension",
            "path": "Media.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Media.modifierExtension",
            "path": "Media.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Media.identifier",
            "path": "Media.identifier",
            "comment": "The identifier label and use can be used to determine what kind of identifier it is.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.basedOn",
            "path": "Media.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.type",
            "path": "Media.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DigitalMediaType"
                }
              ],
              "strength": "required",
              "description": "Whether the media is a photo, video, or audio",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/digital-media-type"
              }
            }
          },
          {
            "id": "Media.subtype",
            "path": "Media.subtype",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DigitalMediaSubtype"
                }
              ],
              "strength": "example",
              "description": "Detailed information about the type of the image - its kind, purpose, or the kind of equipment used to generate it",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/digital-media-subtype"
              }
            }
          },
          {
            "id": "Media.view",
            "path": "Media.view",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MediaView"
                }
              ],
              "strength": "example",
              "description": "Imaging view (projection) used when collecting an image",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/media-view"
              }
            }
          },
          {
            "id": "Media.subject",
            "path": "Media.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.context",
            "path": "Media.context",
            "comment": "This will typically be the encounter the media occurred within.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.occurrence[x]",
            "path": "Media.occurrence[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.operator",
            "path": "Media.operator",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.reasonCode",
            "path": "Media.reasonCode",
            "comment": "Textual reasons can be caprued using reasonCode.text.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MediaReason"
                }
              ],
              "strength": "example",
              "description": "The reason for the media",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-reason"
              }
            }
          },
          {
            "id": "Media.bodySite",
            "path": "Media.bodySite",
            "comment": "If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use The standard extension[ body-site-instance](extension-body-site-instance.html).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "Media.device",
            "path": "Media.device",
            "comment": "An extension should be used if further typing of the device is needed.  Scondary devices used to support collecting a media can be represented using either extension or through the Observation.related element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.height",
            "path": "Media.height",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "condition": [
              "mda-1"
            ],
            "isSummary": true
          },
          {
            "id": "Media.width",
            "path": "Media.width",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "condition": [
              "mda-2"
            ],
            "isSummary": true
          },
          {
            "id": "Media.frames",
            "path": "Media.frames",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "defaultValuePositiveInt": 1,
            "condition": [
              "mda-3"
            ],
            "isSummary": true
          },
          {
            "id": "Media.duration",
            "path": "Media.duration",
            "comment": "The duration might differ from occurrencePeriod if recording was paused.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "condition": [
              "mda-4"
            ],
            "isSummary": true
          },
          {
            "id": "Media.content",
            "path": "Media.content",
            "comment": "Recommended content types: image/jpeg, image/png, image/tiff, video/mpeg, audio/mp4, application/dicom. Application/dicom can contain the transfer syntax as a parameter.  For an media that covers a period of time (video/sound), the content.creationTime is the end time. Creation time is used for tracking, organizing versions and searching.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          },
          {
            "id": "Media.note",
            "path": "Media.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Media",
            "path": "Media",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "mda-1",
                "severity": "error",
                "human": "Height can only be used for a photo or video",
                "expression": "height.empty() or type != 'audio'",
                "xpath": "not(f:type/@value='audio') or not(f:height)"
              },
              {
                "key": "mda-2",
                "severity": "error",
                "human": "Width can only be used for a photo or video",
                "expression": "width.empty() or type != 'audio'",
                "xpath": "not(f:type/@value='audio') or not(f:width)"
              },
              {
                "key": "mda-3",
                "severity": "error",
                "human": "Frames can only be used for a photo",
                "expression": "frames.empty() or type = 'photo'",
                "xpath": "(f:type/@value='photo') or not(f:frames)"
              },
              {
                "key": "mda-4",
                "severity": "error",
                "human": "Duration can only be used for an audio or a video",
                "expression": "duration.empty() or type != 'photo'",
                "xpath": "not(f:type/@value='photo') or not(f:duration)"
              }
            ]
          },
          {
            "id": "Media.identifier",
            "path": "Media.identifier",
            "comment": "The identifier label and use can be used to determine what kind of identifier it is.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.basedOn",
            "path": "Media.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.type",
            "path": "Media.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DigitalMediaType"
                }
              ],
              "strength": "required",
              "description": "Whether the media is a photo, video, or audio",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/digital-media-type"
              }
            }
          },
          {
            "id": "Media.subtype",
            "path": "Media.subtype",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DigitalMediaSubtype"
                }
              ],
              "strength": "example",
              "description": "Detailed information about the type of the image - its kind, purpose, or the kind of equipment used to generate it",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/digital-media-subtype"
              }
            }
          },
          {
            "id": "Media.view",
            "path": "Media.view",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MediaView"
                }
              ],
              "strength": "example",
              "description": "Imaging view (projection) used when collecting an image",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/media-view"
              }
            }
          },
          {
            "id": "Media.subject",
            "path": "Media.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.context",
            "path": "Media.context",
            "comment": "This will typically be the encounter the media occurred within.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.occurrence[x]",
            "path": "Media.occurrence[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.operator",
            "path": "Media.operator",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.reasonCode",
            "path": "Media.reasonCode",
            "comment": "Textual reasons can be caprued using reasonCode.text.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MediaReason"
                }
              ],
              "strength": "example",
              "description": "The reason for the media",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-reason"
              }
            }
          },
          {
            "id": "Media.bodySite",
            "path": "Media.bodySite",
            "comment": "If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use The standard extension[ body-site-instance](extension-body-site-instance.html).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "Media.device",
            "path": "Media.device",
            "comment": "An extension should be used if further typing of the device is needed.  Scondary devices used to support collecting a media can be represented using either extension or through the Observation.related element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Media.height",
            "path": "Media.height",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "condition": [
              "mda-1"
            ],
            "isSummary": true
          },
          {
            "id": "Media.width",
            "path": "Media.width",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "condition": [
              "mda-2"
            ],
            "isSummary": true
          },
          {
            "id": "Media.frames",
            "path": "Media.frames",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ],
            "defaultValuePositiveInt": 1,
            "condition": [
              "mda-3"
            ],
            "isSummary": true
          },
          {
            "id": "Media.duration",
            "path": "Media.duration",
            "comment": "The duration might differ from occurrencePeriod if recording was paused.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "condition": [
              "mda-4"
            ],
            "isSummary": true
          },
          {
            "id": "Media.content",
            "path": "Media.content",
            "comment": "Recommended content types: image/jpeg, image/png, image/tiff, video/mpeg, audio/mp4, application/dicom. Application/dicom can contain the transfer syntax as a parameter.  For an media that covers a period of time (video/sound), the content.creationTime is the end time. Creation time is used for tracking, organizing versions and searching.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          },
          {
            "id": "Media.note",
            "path": "Media.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Medication",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Medication",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "phx"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Medication",
      "name": "Medication",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Medication",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Medication",
            "path": "Medication",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Medication.id",
            "path": "Medication.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Medication.meta",
            "path": "Medication.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Medication.implicitRules",
            "path": "Medication.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Medication.language",
            "path": "Medication.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Medication.text",
            "path": "Medication.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Medication.contained",
            "path": "Medication.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Medication.extension",
            "path": "Medication.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Medication.modifierExtension",
            "path": "Medication.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Medication.code",
            "path": "Medication.code",
            "comment": "Depending on the context of use, the code that was actually selected by the user (prescriber, dispenser, etc.) will have the coding.userSelected set to true.  As described in the coding datatype: \"A coding may be marked as a \"userSelected\" if a user selected the particular coded value in a user interface (e.g. the user selects an item in a pick-list). If a user selected coding exists, it is the preferred choice for performing translations etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationFormalRepresentation"
                }
              ],
              "strength": "example",
              "description": "A coded concept that defines the type of a medication",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "Medication.status",
            "path": "Medication.status",
            "comment": "This status is not intended to specify if a medication is part of a formulary.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationStatus"
                }
              ],
              "strength": "required",
              "description": "A coded concept defining if the medication is in active use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-status"
              }
            }
          },
          {
            "id": "Medication.isBrand",
            "path": "Medication.isBrand",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Medication.isOverTheCounter",
            "path": "Medication.isOverTheCounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Medication.manufacturer",
            "path": "Medication.manufacturer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Medication.form",
            "path": "Medication.form",
            "comment": "When Medication is referenced from MedicationRequest, this is the ordered form.  When Medication is referenced within MedicationDispense, this is the dispensed form.  When Medication is referenced within MedicationAdministration, this is administered form.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationForm"
                }
              ],
              "strength": "example",
              "description": "A coded concept defining the form of a medication",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-form-codes"
              }
            }
          },
          {
            "id": "Medication.ingredient",
            "path": "Medication.ingredient",
            "comment": "The ingredients need not be a complete list.  If an ingredient is not specified, this does not indicate whether an ingredient is present or absent.  If an ingredient is specified it does not mean that all ingredients are specified.  It is possible to specify both inactive and active ingredients.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Medication.ingredient.id",
            "path": "Medication.ingredient.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Medication.ingredient.extension",
            "path": "Medication.ingredient.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Medication.ingredient.modifierExtension",
            "path": "Medication.ingredient.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Medication.ingredient.item[x]",
            "path": "Medication.ingredient.item[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              }
            ]
          },
          {
            "id": "Medication.ingredient.isActive",
            "path": "Medication.ingredient.isActive",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Medication.ingredient.amount",
            "path": "Medication.ingredient.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Ratio"
              }
            ]
          },
          {
            "id": "Medication.package",
            "path": "Medication.package",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Medication.package.id",
            "path": "Medication.package.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Medication.package.extension",
            "path": "Medication.package.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Medication.package.modifierExtension",
            "path": "Medication.package.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Medication.package.container",
            "path": "Medication.package.container",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationContainer"
                }
              ],
              "strength": "example",
              "description": "A coded concept defining the kind of container a medication package is packaged in",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-package-form"
              }
            }
          },
          {
            "id": "Medication.package.content",
            "path": "Medication.package.content",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Medication.package.content.id",
            "path": "Medication.package.content.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Medication.package.content.extension",
            "path": "Medication.package.content.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Medication.package.content.modifierExtension",
            "path": "Medication.package.content.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Medication.package.content.item[x]",
            "path": "Medication.package.content.item[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              }
            ]
          },
          {
            "id": "Medication.package.content.amount",
            "path": "Medication.package.content.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Medication.package.batch",
            "path": "Medication.package.batch",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Medication.package.batch.id",
            "path": "Medication.package.batch.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Medication.package.batch.extension",
            "path": "Medication.package.batch.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Medication.package.batch.modifierExtension",
            "path": "Medication.package.batch.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Medication.package.batch.lotNumber",
            "path": "Medication.package.batch.lotNumber",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Medication.package.batch.expirationDate",
            "path": "Medication.package.batch.expirationDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Medication.image",
            "path": "Medication.image",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Medication",
            "path": "Medication",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Medication.code",
            "path": "Medication.code",
            "comment": "Depending on the context of use, the code that was actually selected by the user (prescriber, dispenser, etc.) will have the coding.userSelected set to true.  As described in the coding datatype: \"A coding may be marked as a \"userSelected\" if a user selected the particular coded value in a user interface (e.g. the user selects an item in a pick-list). If a user selected coding exists, it is the preferred choice for performing translations etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationFormalRepresentation"
                }
              ],
              "strength": "example",
              "description": "A coded concept that defines the type of a medication",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "Medication.status",
            "path": "Medication.status",
            "comment": "This status is not intended to specify if a medication is part of a formulary.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationStatus"
                }
              ],
              "strength": "required",
              "description": "A coded concept defining if the medication is in active use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-status"
              }
            }
          },
          {
            "id": "Medication.isBrand",
            "path": "Medication.isBrand",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Medication.isOverTheCounter",
            "path": "Medication.isOverTheCounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Medication.manufacturer",
            "path": "Medication.manufacturer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Medication.form",
            "path": "Medication.form",
            "comment": "When Medication is referenced from MedicationRequest, this is the ordered form.  When Medication is referenced within MedicationDispense, this is the dispensed form.  When Medication is referenced within MedicationAdministration, this is administered form.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationForm"
                }
              ],
              "strength": "example",
              "description": "A coded concept defining the form of a medication",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-form-codes"
              }
            }
          },
          {
            "id": "Medication.ingredient",
            "path": "Medication.ingredient",
            "comment": "The ingredients need not be a complete list.  If an ingredient is not specified, this does not indicate whether an ingredient is present or absent.  If an ingredient is specified it does not mean that all ingredients are specified.  It is possible to specify both inactive and active ingredients.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Medication.ingredient.item[x]",
            "path": "Medication.ingredient.item[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              }
            ]
          },
          {
            "id": "Medication.ingredient.isActive",
            "path": "Medication.ingredient.isActive",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Medication.ingredient.amount",
            "path": "Medication.ingredient.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Ratio"
              }
            ]
          },
          {
            "id": "Medication.package",
            "path": "Medication.package",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Medication.package.container",
            "path": "Medication.package.container",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationContainer"
                }
              ],
              "strength": "example",
              "description": "A coded concept defining the kind of container a medication package is packaged in",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-package-form"
              }
            }
          },
          {
            "id": "Medication.package.content",
            "path": "Medication.package.content",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Medication.package.content.item[x]",
            "path": "Medication.package.content.item[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              }
            ]
          },
          {
            "id": "Medication.package.content.amount",
            "path": "Medication.package.content.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Medication.package.batch",
            "path": "Medication.package.batch",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Medication.package.batch.lotNumber",
            "path": "Medication.package.batch.lotNumber",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Medication.package.batch.expirationDate",
            "path": "Medication.package.batch.expirationDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "Medication.image",
            "path": "Medication.image",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "MedicationAdministration",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "phx"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration",
      "name": "MedicationAdministration",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "MedicationAdministration",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "MedicationAdministration",
            "path": "MedicationAdministration",
            "comment": "The WG will be updating the MedicationAdministration resource  to adjust each affected resource to align with the workflow pattern (see workflow.html).",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "mad-2",
                "severity": "error",
                "human": "Reason not given is only permitted if NotGiven is true",
                "expression": "reasonNotGiven.empty() or notGiven = true",
                "xpath": "not(exists(f:reasonNotGiven) and f:notGiven/@value=false())"
              },
              {
                "key": "mad-3",
                "severity": "error",
                "human": "Reason given is only permitted if NotGiven is false",
                "expression": "reasonCode.empty() or notGiven.empty() or notGiven = 'false'",
                "xpath": "not(exists(f:reasonCode) and f:notGiven/@value=true())"
              }
            ]
          },
          {
            "id": "MedicationAdministration.id",
            "path": "MedicationAdministration.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.meta",
            "path": "MedicationAdministration.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.implicitRules",
            "path": "MedicationAdministration.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.language",
            "path": "MedicationAdministration.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "MedicationAdministration.text",
            "path": "MedicationAdministration.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "MedicationAdministration.contained",
            "path": "MedicationAdministration.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "MedicationAdministration.extension",
            "path": "MedicationAdministration.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MedicationAdministration.modifierExtension",
            "path": "MedicationAdministration.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "MedicationAdministration.identifier",
            "path": "MedicationAdministration.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "MedicationAdministration.definition",
            "path": "MedicationAdministration.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.partOf",
            "path": "MedicationAdministration.partOf",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.status",
            "path": "MedicationAdministration.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationAdministrationStatus"
                }
              ],
              "strength": "required",
              "description": "A set of codes indicating the current status of a MedicationAdministration.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-admin-status"
              }
            }
          },
          {
            "id": "MedicationAdministration.category",
            "path": "MedicationAdministration.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationAdministrationCategory"
                }
              ],
              "strength": "preferred",
              "description": "A coded concept describing where the medication administered is expected to occur",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-admin-category"
              }
            }
          },
          {
            "id": "MedicationAdministration.medication[x]",
            "path": "MedicationAdministration.medication[x]",
            "comment": "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. .",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationCode"
                }
              ],
              "strength": "example",
              "description": "Codes identifying substance or product that can be administered.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "MedicationAdministration.subject",
            "path": "MedicationAdministration.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.context",
            "path": "MedicationAdministration.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ]
          },
          {
            "id": "MedicationAdministration.supportingInformation",
            "path": "MedicationAdministration.supportingInformation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "MedicationAdministration.effective[x]",
            "path": "MedicationAdministration.effective[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.performer",
            "path": "MedicationAdministration.performer",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.performer.id",
            "path": "MedicationAdministration.performer.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MedicationAdministration.performer.extension",
            "path": "MedicationAdministration.performer.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MedicationAdministration.performer.modifierExtension",
            "path": "MedicationAdministration.performer.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.performer.actor",
            "path": "MedicationAdministration.performer.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.performer.onBehalfOf",
            "path": "MedicationAdministration.performer.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "MedicationAdministration.notGiven",
            "path": "MedicationAdministration.notGiven",
            "comment": "This element is labeled as a modifier because it indicates that a administration didn't happen.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "meaningWhenMissing": "If this is missing, then the medication was administered",
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.reasonNotGiven",
            "path": "MedicationAdministration.reasonNotGiven",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "mad-2"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationAdministrationNegationReason"
                }
              ],
              "strength": "example",
              "description": "A set of codes indicating the reason why the MedicationAdministration is negated.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/reason-medication-not-given-codes"
              }
            }
          },
          {
            "id": "MedicationAdministration.reasonCode",
            "path": "MedicationAdministration.reasonCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "mad-3"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationAdministrationReason"
                }
              ],
              "strength": "example",
              "description": "A set of codes indicating the reason why the MedicationAdministration was made.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/reason-medication-given-codes"
              }
            }
          },
          {
            "id": "MedicationAdministration.reasonReference",
            "path": "MedicationAdministration.reasonReference",
            "comment": "This is a reference to a condition that is the reason for the medication request.  If only a code exists, use reasonCode.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ]
          },
          {
            "id": "MedicationAdministration.prescription",
            "path": "MedicationAdministration.prescription",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              }
            ]
          },
          {
            "id": "MedicationAdministration.device",
            "path": "MedicationAdministration.device",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "MedicationAdministration.note",
            "path": "MedicationAdministration.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "MedicationAdministration.dosage",
            "path": "MedicationAdministration.dosage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "mad-1",
                "severity": "error",
                "human": "SHALL have at least one of dosage.dose or dosage.rate[x]",
                "expression": "dose.exists() or rate.exists()",
                "xpath": "exists(f:dose) or exists(f:*[starts-with(local-name(.), 'rate')])"
              }
            ]
          },
          {
            "id": "MedicationAdministration.dosage.id",
            "path": "MedicationAdministration.dosage.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MedicationAdministration.dosage.extension",
            "path": "MedicationAdministration.dosage.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MedicationAdministration.dosage.modifierExtension",
            "path": "MedicationAdministration.dosage.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.dosage.text",
            "path": "MedicationAdministration.dosage.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MedicationAdministration.dosage.site",
            "path": "MedicationAdministration.dosage.site",
            "comment": "If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [body-site-instance](extension-body-site-instance.html).  May be a summary code, or a reference to a very precise definition of the location, or both.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationAdministrationSite"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the site location the medicine enters into or onto the body.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/approach-site-codes"
              }
            }
          },
          {
            "id": "MedicationAdministration.dosage.route",
            "path": "MedicationAdministration.dosage.route",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RouteOfAdministration"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/route-codes"
              }
            }
          },
          {
            "id": "MedicationAdministration.dosage.method",
            "path": "MedicationAdministration.dosage.method",
            "comment": "One of the reasons this attribute is not used often, is that the method is often pre-coordinated with the route and/or form of administration.  This means the codes used in route or form may pre-coordinate the method in the route code or the form code.  The implementation decision about what coding system to use for route or form code will determine how frequently the method code will be populated e.g. if route or form code pre-coordinate method code, then this attribute will not be populated often; if there is no pre-coordination then method code may  be used frequently.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationAdministrationMethod"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the technique by which the medicine is administered.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administration-method-codes"
              }
            }
          },
          {
            "id": "MedicationAdministration.dosage.dose",
            "path": "MedicationAdministration.dosage.dose",
            "comment": "If the administration is not instantaneous (rate is present), this can be specified to convey the total amount administered over period of time of a single administration.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "MedicationAdministration.dosage.rate[x]",
            "path": "MedicationAdministration.dosage.rate[x]",
            "comment": "If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Ratio"
              },
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "MedicationAdministration.eventHistory",
            "path": "MedicationAdministration.eventHistory",
            "comment": "This may not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "MedicationAdministration",
            "path": "MedicationAdministration",
            "comment": "The WG will be updating the MedicationAdministration resource  to adjust each affected resource to align with the workflow pattern (see workflow.html).",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "mad-2",
                "severity": "error",
                "human": "Reason not given is only permitted if NotGiven is true",
                "expression": "reasonNotGiven.empty() or notGiven = true",
                "xpath": "not(exists(f:reasonNotGiven) and f:notGiven/@value=false())"
              },
              {
                "key": "mad-3",
                "severity": "error",
                "human": "Reason given is only permitted if NotGiven is false",
                "expression": "reasonCode.empty() or notGiven.empty() or notGiven = 'false'",
                "xpath": "not(exists(f:reasonCode) and f:notGiven/@value=true())"
              }
            ]
          },
          {
            "id": "MedicationAdministration.identifier",
            "path": "MedicationAdministration.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "MedicationAdministration.definition",
            "path": "MedicationAdministration.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.partOf",
            "path": "MedicationAdministration.partOf",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.status",
            "path": "MedicationAdministration.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationAdministrationStatus"
                }
              ],
              "strength": "required",
              "description": "A set of codes indicating the current status of a MedicationAdministration.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-admin-status"
              }
            }
          },
          {
            "id": "MedicationAdministration.category",
            "path": "MedicationAdministration.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationAdministrationCategory"
                }
              ],
              "strength": "preferred",
              "description": "A coded concept describing where the medication administered is expected to occur",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-admin-category"
              }
            }
          },
          {
            "id": "MedicationAdministration.medication[x]",
            "path": "MedicationAdministration.medication[x]",
            "comment": "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. .",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationCode"
                }
              ],
              "strength": "example",
              "description": "Codes identifying substance or product that can be administered.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "MedicationAdministration.subject",
            "path": "MedicationAdministration.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.context",
            "path": "MedicationAdministration.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ]
          },
          {
            "id": "MedicationAdministration.supportingInformation",
            "path": "MedicationAdministration.supportingInformation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "MedicationAdministration.effective[x]",
            "path": "MedicationAdministration.effective[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.performer",
            "path": "MedicationAdministration.performer",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.performer.actor",
            "path": "MedicationAdministration.performer.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.performer.onBehalfOf",
            "path": "MedicationAdministration.performer.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "MedicationAdministration.notGiven",
            "path": "MedicationAdministration.notGiven",
            "comment": "This element is labeled as a modifier because it indicates that a administration didn't happen.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "meaningWhenMissing": "If this is missing, then the medication was administered",
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationAdministration.reasonNotGiven",
            "path": "MedicationAdministration.reasonNotGiven",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "mad-2"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationAdministrationNegationReason"
                }
              ],
              "strength": "example",
              "description": "A set of codes indicating the reason why the MedicationAdministration is negated.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/reason-medication-not-given-codes"
              }
            }
          },
          {
            "id": "MedicationAdministration.reasonCode",
            "path": "MedicationAdministration.reasonCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "mad-3"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationAdministrationReason"
                }
              ],
              "strength": "example",
              "description": "A set of codes indicating the reason why the MedicationAdministration was made.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/reason-medication-given-codes"
              }
            }
          },
          {
            "id": "MedicationAdministration.reasonReference",
            "path": "MedicationAdministration.reasonReference",
            "comment": "This is a reference to a condition that is the reason for the medication request.  If only a code exists, use reasonCode.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ]
          },
          {
            "id": "MedicationAdministration.prescription",
            "path": "MedicationAdministration.prescription",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              }
            ]
          },
          {
            "id": "MedicationAdministration.device",
            "path": "MedicationAdministration.device",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "MedicationAdministration.note",
            "path": "MedicationAdministration.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "MedicationAdministration.dosage",
            "path": "MedicationAdministration.dosage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "mad-1",
                "severity": "error",
                "human": "SHALL have at least one of dosage.dose or dosage.rate[x]",
                "expression": "dose.exists() or rate.exists()",
                "xpath": "exists(f:dose) or exists(f:*[starts-with(local-name(.), 'rate')])"
              }
            ]
          },
          {
            "id": "MedicationAdministration.dosage.text",
            "path": "MedicationAdministration.dosage.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MedicationAdministration.dosage.site",
            "path": "MedicationAdministration.dosage.site",
            "comment": "If the use case requires attributes from the BodySite resource (e.g. to identify and track separately) then use the standard extension [body-site-instance](extension-body-site-instance.html).  May be a summary code, or a reference to a very precise definition of the location, or both.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationAdministrationSite"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the site location the medicine enters into or onto the body.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/approach-site-codes"
              }
            }
          },
          {
            "id": "MedicationAdministration.dosage.route",
            "path": "MedicationAdministration.dosage.route",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RouteOfAdministration"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/route-codes"
              }
            }
          },
          {
            "id": "MedicationAdministration.dosage.method",
            "path": "MedicationAdministration.dosage.method",
            "comment": "One of the reasons this attribute is not used often, is that the method is often pre-coordinated with the route and/or form of administration.  This means the codes used in route or form may pre-coordinate the method in the route code or the form code.  The implementation decision about what coding system to use for route or form code will determine how frequently the method code will be populated e.g. if route or form code pre-coordinate method code, then this attribute will not be populated often; if there is no pre-coordination then method code may  be used frequently.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationAdministrationMethod"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the technique by which the medicine is administered.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administration-method-codes"
              }
            }
          },
          {
            "id": "MedicationAdministration.dosage.dose",
            "path": "MedicationAdministration.dosage.dose",
            "comment": "If the administration is not instantaneous (rate is present), this can be specified to convey the total amount administered over period of time of a single administration.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "MedicationAdministration.dosage.rate[x]",
            "path": "MedicationAdministration.dosage.rate[x]",
            "comment": "If the rate changes over time, and you want to capture this in MedicationAdministration, then each change should be captured as a distinct MedicationAdministration, with a specific MedicationAdministration.dosage.rate, and the date time when the rate change occurred. Typically, the MedicationAdministration.dosage.rate element is not used to convey an average rate.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Ratio"
              },
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "MedicationAdministration.eventHistory",
            "path": "MedicationAdministration.eventHistory",
            "comment": "This may not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/MedicationDispense",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "MedicationDispense",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "phx"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/MedicationDispense",
      "name": "MedicationDispense",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "MedicationDispense",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "MedicationDispense",
            "path": "MedicationDispense",
            "comment": "The WG will be updating the MedicationDispense resource  to adjust each affected resource to align with the workflow pattern (see workflow.html).",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "mdd-1",
                "severity": "error",
                "human": "whenHandedOver cannot be before whenPrepared",
                "expression": "whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared",
                "xpath": "not(exists(f:whenHandedOver/@value)) or not(exists(f:whenPrepared/@value)) or ( f:whenHandedOver/@value >= f:whenPrepared/@value)"
              }
            ]
          },
          {
            "id": "MedicationDispense.id",
            "path": "MedicationDispense.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationDispense.meta",
            "path": "MedicationDispense.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationDispense.implicitRules",
            "path": "MedicationDispense.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationDispense.language",
            "path": "MedicationDispense.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "MedicationDispense.text",
            "path": "MedicationDispense.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "MedicationDispense.contained",
            "path": "MedicationDispense.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "MedicationDispense.extension",
            "path": "MedicationDispense.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MedicationDispense.modifierExtension",
            "path": "MedicationDispense.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "MedicationDispense.identifier",
            "path": "MedicationDispense.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "MedicationDispense.partOf",
            "path": "MedicationDispense.partOf",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ]
          },
          {
            "id": "MedicationDispense.status",
            "path": "MedicationDispense.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationDispenseStatus"
                }
              ],
              "strength": "required",
              "description": "A coded concept specifying the state of the dispense event.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-dispense-status"
              }
            }
          },
          {
            "id": "MedicationDispense.category",
            "path": "MedicationDispense.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationDispenseCategory"
                }
              ],
              "strength": "preferred",
              "description": "A code describing where the dispensed medication is expected to be consumed or administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-dispense-category"
              }
            }
          },
          {
            "id": "MedicationDispense.medication[x]",
            "path": "MedicationDispense.medication[x]",
            "comment": "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. .",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationCode"
                }
              ],
              "strength": "example",
              "description": "A coded concept identifying which substance or product can be dispensed",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "MedicationDispense.subject",
            "path": "MedicationDispense.subject",
            "comment": "SubstanceAdministration->subject->Patient.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationDispense.context",
            "path": "MedicationDispense.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ]
          },
          {
            "id": "MedicationDispense.supportingInformation",
            "path": "MedicationDispense.supportingInformation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "MedicationDispense.performer",
            "path": "MedicationDispense.performer",
            "comment": "The performer will be reviewed as part of STU4.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "MedicationDispense.performer.id",
            "path": "MedicationDispense.performer.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MedicationDispense.performer.extension",
            "path": "MedicationDispense.performer.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MedicationDispense.performer.modifierExtension",
            "path": "MedicationDispense.performer.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationDispense.performer.actor",
            "path": "MedicationDispense.performer.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "MedicationDispense.performer.onBehalfOf",
            "path": "MedicationDispense.performer.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "MedicationDispense.authorizingPrescription",
            "path": "MedicationDispense.authorizingPrescription",
            "comment": "Maps to basedOn in Event logical model.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              }
            ]
          },
          {
            "id": "MedicationDispense.type",
            "path": "MedicationDispense.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationDispenseType"
                }
              ],
              "strength": "example",
              "description": "Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActPharmacySupplyType"
              }
            }
          },
          {
            "id": "MedicationDispense.quantity",
            "path": "MedicationDispense.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "MedicationDispense.daysSupply",
            "path": "MedicationDispense.daysSupply",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "MedicationDispense.whenPrepared",
            "path": "MedicationDispense.whenPrepared",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationDispense.whenHandedOver",
            "path": "MedicationDispense.whenHandedOver",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "MedicationDispense.destination",
            "path": "MedicationDispense.destination",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "MedicationDispense.receiver",
            "path": "MedicationDispense.receiver",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "MedicationDispense.note",
            "path": "MedicationDispense.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "MedicationDispense.dosageInstruction",
            "path": "MedicationDispense.dosageInstruction",
            "comment": "When the dose or rate is intended to change over the entire administration period (e.g. Tapering dose prescriptions), multiple instances of dosage instructions will need to be supplied to convey the different doses/rates.\rThe pharmacist reviews the medication order prior to dispense and updates the dosageInstruction based on the actual product being dispensed.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Dosage"
              }
            ]
          },
          {
            "id": "MedicationDispense.substitution",
            "path": "MedicationDispense.substitution",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "MedicationDispense.substitution.id",
            "path": "MedicationDispense.substitution.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MedicationDispense.substitution.extension",
            "path": "MedicationDispense.substitution.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MedicationDispense.substitution.modifierExtension",
            "path": "MedicationDispense.substitution.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationDispense.substitution.wasSubstituted",
            "path": "MedicationDispense.substitution.wasSubstituted",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "MedicationDispense.substitution.type",
            "path": "MedicationDispense.substitution.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationIntendedSubstitutionType"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActSubstanceAdminSubstitutionCode"
              }
            }
          },
          {
            "id": "MedicationDispense.substitution.reason",
            "path": "MedicationDispense.substitution.reason",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationIntendedSubstitutionReason"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-SubstanceAdminSubstitutionReason"
              }
            }
          },
          {
            "id": "MedicationDispense.substitution.responsibleParty",
            "path": "MedicationDispense.substitution.responsibleParty",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "MedicationDispense.detectedIssue",
            "path": "MedicationDispense.detectedIssue",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DetectedIssue"
              }
            ]
          },
          {
            "id": "MedicationDispense.notDone",
            "path": "MedicationDispense.notDone",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "MedicationDispense.notDoneReason[x]",
            "path": "MedicationDispense.notDoneReason[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DetectedIssue"
              }
            ]
          },
          {
            "id": "MedicationDispense.eventHistory",
            "path": "MedicationDispense.eventHistory",
            "comment": "This may not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "MedicationDispense",
            "path": "MedicationDispense",
            "comment": "The WG will be updating the MedicationDispense resource  to adjust each affected resource to align with the workflow pattern (see workflow.html).",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "mdd-1",
                "severity": "error",
                "human": "whenHandedOver cannot be before whenPrepared",
                "expression": "whenHandedOver.empty() or whenPrepared.empty() or whenHandedOver >= whenPrepared",
                "xpath": "not(exists(f:whenHandedOver/@value)) or not(exists(f:whenPrepared/@value)) or ( f:whenHandedOver/@value >= f:whenPrepared/@value)"
              }
            ]
          },
          {
            "id": "MedicationDispense.identifier",
            "path": "MedicationDispense.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "MedicationDispense.partOf",
            "path": "MedicationDispense.partOf",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ]
          },
          {
            "id": "MedicationDispense.status",
            "path": "MedicationDispense.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationDispenseStatus"
                }
              ],
              "strength": "required",
              "description": "A coded concept specifying the state of the dispense event.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-dispense-status"
              }
            }
          },
          {
            "id": "MedicationDispense.category",
            "path": "MedicationDispense.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationDispenseCategory"
                }
              ],
              "strength": "preferred",
              "description": "A code describing where the dispensed medication is expected to be consumed or administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-dispense-category"
              }
            }
          },
          {
            "id": "MedicationDispense.medication[x]",
            "path": "MedicationDispense.medication[x]",
            "comment": "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. .",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationCode"
                }
              ],
              "strength": "example",
              "description": "A coded concept identifying which substance or product can be dispensed",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "MedicationDispense.subject",
            "path": "MedicationDispense.subject",
            "comment": "SubstanceAdministration->subject->Patient.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationDispense.context",
            "path": "MedicationDispense.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ]
          },
          {
            "id": "MedicationDispense.supportingInformation",
            "path": "MedicationDispense.supportingInformation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "MedicationDispense.performer",
            "path": "MedicationDispense.performer",
            "comment": "The performer will be reviewed as part of STU4.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "MedicationDispense.performer.actor",
            "path": "MedicationDispense.performer.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "MedicationDispense.performer.onBehalfOf",
            "path": "MedicationDispense.performer.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "MedicationDispense.authorizingPrescription",
            "path": "MedicationDispense.authorizingPrescription",
            "comment": "Maps to basedOn in Event logical model.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              }
            ]
          },
          {
            "id": "MedicationDispense.type",
            "path": "MedicationDispense.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationDispenseType"
                }
              ],
              "strength": "example",
              "description": "Indicates the type of dispensing event that is performed. For example, Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActPharmacySupplyType"
              }
            }
          },
          {
            "id": "MedicationDispense.quantity",
            "path": "MedicationDispense.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "MedicationDispense.daysSupply",
            "path": "MedicationDispense.daysSupply",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "MedicationDispense.whenPrepared",
            "path": "MedicationDispense.whenPrepared",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationDispense.whenHandedOver",
            "path": "MedicationDispense.whenHandedOver",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "MedicationDispense.destination",
            "path": "MedicationDispense.destination",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "MedicationDispense.receiver",
            "path": "MedicationDispense.receiver",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "MedicationDispense.note",
            "path": "MedicationDispense.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "MedicationDispense.dosageInstruction",
            "path": "MedicationDispense.dosageInstruction",
            "comment": "When the dose or rate is intended to change over the entire administration period (e.g. Tapering dose prescriptions), multiple instances of dosage instructions will need to be supplied to convey the different doses/rates.\rThe pharmacist reviews the medication order prior to dispense and updates the dosageInstruction based on the actual product being dispensed.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Dosage"
              }
            ]
          },
          {
            "id": "MedicationDispense.substitution",
            "path": "MedicationDispense.substitution",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "MedicationDispense.substitution.wasSubstituted",
            "path": "MedicationDispense.substitution.wasSubstituted",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "MedicationDispense.substitution.type",
            "path": "MedicationDispense.substitution.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationIntendedSubstitutionType"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing whether a different medicinal product may be dispensed other than the product as specified exactly in the prescription",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-ActSubstanceAdminSubstitutionCode"
              }
            }
          },
          {
            "id": "MedicationDispense.substitution.reason",
            "path": "MedicationDispense.substitution.reason",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationIntendedSubstitutionReason"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-SubstanceAdminSubstitutionReason"
              }
            }
          },
          {
            "id": "MedicationDispense.substitution.responsibleParty",
            "path": "MedicationDispense.substitution.responsibleParty",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "MedicationDispense.detectedIssue",
            "path": "MedicationDispense.detectedIssue",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DetectedIssue"
              }
            ]
          },
          {
            "id": "MedicationDispense.notDone",
            "path": "MedicationDispense.notDone",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "MedicationDispense.notDoneReason[x]",
            "path": "MedicationDispense.notDoneReason[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DetectedIssue"
              }
            ]
          },
          {
            "id": "MedicationDispense.eventHistory",
            "path": "MedicationDispense.eventHistory",
            "comment": "This may not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/MedicationRequest",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "MedicationRequest",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "phx"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/MedicationRequest",
      "name": "MedicationRequest",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "MedicationRequest",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "MedicationRequest",
            "path": "MedicationRequest",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "MedicationRequest.id",
            "path": "MedicationRequest.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.meta",
            "path": "MedicationRequest.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.implicitRules",
            "path": "MedicationRequest.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationRequest.language",
            "path": "MedicationRequest.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "MedicationRequest.text",
            "path": "MedicationRequest.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "MedicationRequest.contained",
            "path": "MedicationRequest.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "MedicationRequest.extension",
            "path": "MedicationRequest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MedicationRequest.modifierExtension",
            "path": "MedicationRequest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "MedicationRequest.identifier",
            "path": "MedicationRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "MedicationRequest.definition",
            "path": "MedicationRequest.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.basedOn",
            "path": "MedicationRequest.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.groupIdentifier",
            "path": "MedicationRequest.groupIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.status",
            "path": "MedicationRequest.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationRequestStatus"
                }
              ],
              "strength": "required",
              "description": "A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-request-status"
              }
            }
          },
          {
            "id": "MedicationRequest.intent",
            "path": "MedicationRequest.intent",
            "comment": "It is expected that the type of requester will be restricted for different stages of a MedicationRequest.  For example, Proposals can be created by a patient, relatedPerson, Practitioner or Device.  Plans can be created by Practitioners, Patients, RelatedPersons and Devices.  Original orders can be created by a Practitioner only.\r\rAn instance-order is an instantiation of a request or order and may be used to populate Medication Administration Record.\n\nThis element is labeled as a modifier because the intent alters when and how the resource is actually applicable.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationRequestIntent"
                }
              ],
              "strength": "required",
              "description": "The kind of medication order",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-request-intent"
              }
            }
          },
          {
            "id": "MedicationRequest.category",
            "path": "MedicationRequest.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationRequestCategory"
                }
              ],
              "strength": "preferred",
              "description": "A coded concept identifying where the medication ordered is expected to be consumed or administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-request-category"
              }
            }
          },
          {
            "id": "MedicationRequest.priority",
            "path": "MedicationRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationRequestPriority"
                }
              ],
              "strength": "required",
              "description": "Identifies the level of importance to be assigned to actioning the request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-request-priority"
              }
            }
          },
          {
            "id": "MedicationRequest.medication[x]",
            "path": "MedicationRequest.medication[x]",
            "comment": "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example, if you require form or lot number or if the medication is compounded or extemporaneously prepared, then you must reference the Medication resource. .",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationCode"
                }
              ],
              "strength": "example",
              "description": "A coded concept identifying substance or product that can be ordered.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "MedicationRequest.subject",
            "path": "MedicationRequest.subject",
            "comment": "The subject on a medication request is mandatory.  For the secondary use case where the actual subject is not provided, there still must be an anonymized subject specified.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.context",
            "path": "MedicationRequest.context",
            "comment": "SubstanceAdministration->component->EncounterEvent.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ]
          },
          {
            "id": "MedicationRequest.supportingInformation",
            "path": "MedicationRequest.supportingInformation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "MedicationRequest.authoredOn",
            "path": "MedicationRequest.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.requester",
            "path": "MedicationRequest.requester",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "mps-1",
                "severity": "error",
                "human": "onBehalfOf can only be specified if agent is practitioner or device",
                "expression": "(agent.resolve().empty()) or (agent.resolve() is Device) or (agent.resolve() is Practitioner) or onBehalfOf.exists().not()",
                "xpath": "contains(f:agent/f:reference/@value, '/Practitioner/') or contains(f:agent/f:reference/@value, '/Device/') or not(exists(f:onBehalfOf))"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.requester.id",
            "path": "MedicationRequest.requester.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MedicationRequest.requester.extension",
            "path": "MedicationRequest.requester.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MedicationRequest.requester.modifierExtension",
            "path": "MedicationRequest.requester.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationRequest.requester.agent",
            "path": "MedicationRequest.requester.agent",
            "comment": "It is expected that the type of requester will be restricted for different stages of a MedicationRequest.  For example, Proposals can be created by a patient, relatedPerson, Practitioner or Device.  Plans can be created by Practitioners, Patients, RelatedPersons and Devices.  Original orders can be created by a Practitioner only.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.requester.onBehalfOf",
            "path": "MedicationRequest.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "condition": [
              "mps-1"
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.recorder",
            "path": "MedicationRequest.recorder",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "MedicationRequest.reasonCode",
            "path": "MedicationRequest.reasonCode",
            "comment": "This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonReference.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationRequestReason"
                }
              ],
              "strength": "example",
              "description": "A coded concept indicating why the medication was ordered.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "MedicationRequest.reasonReference",
            "path": "MedicationRequest.reasonReference",
            "comment": "This is a reference to a condition or observation that is the reason for the medication order.  If only a code exists, use reasonCode.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ]
          },
          {
            "id": "MedicationRequest.note",
            "path": "MedicationRequest.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "MedicationRequest.dosageInstruction",
            "path": "MedicationRequest.dosageInstruction",
            "comment": "There are examples where a medication request may include the option of an oral dose or an Intravenous or Intramuscular dose.  For example, \"Ondansetron 8mg orally or IV twice a day as needed for nausea\" or \"Compazine® (prochlorperazine) 5-10mg PO or 25mg PR bid prn nausea or vomiting\".  In these cases, two medication requests would be created that could be grouped together.  The decision on which dose and route of administration to use is based on the patient's condition at the time the dose is needed.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Dosage"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest",
            "path": "MedicationRequest.dispenseRequest",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest.id",
            "path": "MedicationRequest.dispenseRequest.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest.extension",
            "path": "MedicationRequest.dispenseRequest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest.modifierExtension",
            "path": "MedicationRequest.dispenseRequest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationRequest.dispenseRequest.validityPeriod",
            "path": "MedicationRequest.dispenseRequest.validityPeriod",
            "comment": "It reflects the prescribers' perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest.numberOfRepeatsAllowed",
            "path": "MedicationRequest.dispenseRequest.numberOfRepeatsAllowed",
            "comment": "If displaying \"number of authorized fills\", add 1 to this number.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest.quantity",
            "path": "MedicationRequest.dispenseRequest.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest.expectedSupplyDuration",
            "path": "MedicationRequest.dispenseRequest.expectedSupplyDuration",
            "comment": "In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage) When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Duration"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest.performer",
            "path": "MedicationRequest.dispenseRequest.performer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "MedicationRequest.substitution",
            "path": "MedicationRequest.substitution",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "MedicationRequest.substitution.id",
            "path": "MedicationRequest.substitution.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MedicationRequest.substitution.extension",
            "path": "MedicationRequest.substitution.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MedicationRequest.substitution.modifierExtension",
            "path": "MedicationRequest.substitution.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationRequest.substitution.allowed",
            "path": "MedicationRequest.substitution.allowed",
            "comment": "This element is labeled as a modifer because whether substitution is allow or not cannot be ignored.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true
          },
          {
            "id": "MedicationRequest.substitution.reason",
            "path": "MedicationRequest.substitution.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationIntendedSubstitutionReason"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-SubstanceAdminSubstitutionReason"
              }
            }
          },
          {
            "id": "MedicationRequest.priorPrescription",
            "path": "MedicationRequest.priorPrescription",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              }
            ]
          },
          {
            "id": "MedicationRequest.detectedIssue",
            "path": "MedicationRequest.detectedIssue",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DetectedIssue"
              }
            ]
          },
          {
            "id": "MedicationRequest.eventHistory",
            "path": "MedicationRequest.eventHistory",
            "comment": "This may not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "MedicationRequest",
            "path": "MedicationRequest",
            "min": 0,
            "max": "*"
          },
          {
            "id": "MedicationRequest.identifier",
            "path": "MedicationRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "MedicationRequest.definition",
            "path": "MedicationRequest.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.basedOn",
            "path": "MedicationRequest.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.groupIdentifier",
            "path": "MedicationRequest.groupIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.status",
            "path": "MedicationRequest.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationRequestStatus"
                }
              ],
              "strength": "required",
              "description": "A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-request-status"
              }
            }
          },
          {
            "id": "MedicationRequest.intent",
            "path": "MedicationRequest.intent",
            "comment": "It is expected that the type of requester will be restricted for different stages of a MedicationRequest.  For example, Proposals can be created by a patient, relatedPerson, Practitioner or Device.  Plans can be created by Practitioners, Patients, RelatedPersons and Devices.  Original orders can be created by a Practitioner only.\r\rAn instance-order is an instantiation of a request or order and may be used to populate Medication Administration Record.\n\nThis element is labeled as a modifier because the intent alters when and how the resource is actually applicable.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationRequestIntent"
                }
              ],
              "strength": "required",
              "description": "The kind of medication order",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-request-intent"
              }
            }
          },
          {
            "id": "MedicationRequest.category",
            "path": "MedicationRequest.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationRequestCategory"
                }
              ],
              "strength": "preferred",
              "description": "A coded concept identifying where the medication ordered is expected to be consumed or administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-request-category"
              }
            }
          },
          {
            "id": "MedicationRequest.priority",
            "path": "MedicationRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationRequestPriority"
                }
              ],
              "strength": "required",
              "description": "Identifies the level of importance to be assigned to actioning the request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-request-priority"
              }
            }
          },
          {
            "id": "MedicationRequest.medication[x]",
            "path": "MedicationRequest.medication[x]",
            "comment": "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example, if you require form or lot number or if the medication is compounded or extemporaneously prepared, then you must reference the Medication resource. .",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationCode"
                }
              ],
              "strength": "example",
              "description": "A coded concept identifying substance or product that can be ordered.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "MedicationRequest.subject",
            "path": "MedicationRequest.subject",
            "comment": "The subject on a medication request is mandatory.  For the secondary use case where the actual subject is not provided, there still must be an anonymized subject specified.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.context",
            "path": "MedicationRequest.context",
            "comment": "SubstanceAdministration->component->EncounterEvent.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ]
          },
          {
            "id": "MedicationRequest.supportingInformation",
            "path": "MedicationRequest.supportingInformation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "MedicationRequest.authoredOn",
            "path": "MedicationRequest.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.requester",
            "path": "MedicationRequest.requester",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "mps-1",
                "severity": "error",
                "human": "onBehalfOf can only be specified if agent is practitioner or device",
                "expression": "(agent.resolve().empty()) or (agent.resolve() is Device) or (agent.resolve() is Practitioner) or onBehalfOf.exists().not()",
                "xpath": "contains(f:agent/f:reference/@value, '/Practitioner/') or contains(f:agent/f:reference/@value, '/Device/') or not(exists(f:onBehalfOf))"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.requester.agent",
            "path": "MedicationRequest.requester.agent",
            "comment": "It is expected that the type of requester will be restricted for different stages of a MedicationRequest.  For example, Proposals can be created by a patient, relatedPerson, Practitioner or Device.  Plans can be created by Practitioners, Patients, RelatedPersons and Devices.  Original orders can be created by a Practitioner only.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.requester.onBehalfOf",
            "path": "MedicationRequest.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "condition": [
              "mps-1"
            ],
            "isSummary": true
          },
          {
            "id": "MedicationRequest.recorder",
            "path": "MedicationRequest.recorder",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "MedicationRequest.reasonCode",
            "path": "MedicationRequest.reasonCode",
            "comment": "This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonReference.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationRequestReason"
                }
              ],
              "strength": "example",
              "description": "A coded concept indicating why the medication was ordered.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "MedicationRequest.reasonReference",
            "path": "MedicationRequest.reasonReference",
            "comment": "This is a reference to a condition or observation that is the reason for the medication order.  If only a code exists, use reasonCode.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ]
          },
          {
            "id": "MedicationRequest.note",
            "path": "MedicationRequest.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "MedicationRequest.dosageInstruction",
            "path": "MedicationRequest.dosageInstruction",
            "comment": "There are examples where a medication request may include the option of an oral dose or an Intravenous or Intramuscular dose.  For example, \"Ondansetron 8mg orally or IV twice a day as needed for nausea\" or \"Compazine® (prochlorperazine) 5-10mg PO or 25mg PR bid prn nausea or vomiting\".  In these cases, two medication requests would be created that could be grouped together.  The decision on which dose and route of administration to use is based on the patient's condition at the time the dose is needed.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Dosage"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest",
            "path": "MedicationRequest.dispenseRequest",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest.validityPeriod",
            "path": "MedicationRequest.dispenseRequest.validityPeriod",
            "comment": "It reflects the prescribers' perspective for the validity of the prescription. Dispenses must not be made against the prescription outside of this period. The lower-bound of the Dispensing Window signifies the earliest date that the prescription can be filled for the first time. If an upper-bound is not specified then the Prescription is open-ended or will default to a stale-date based on regulations.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest.numberOfRepeatsAllowed",
            "path": "MedicationRequest.dispenseRequest.numberOfRepeatsAllowed",
            "comment": "If displaying \"number of authorized fills\", add 1 to this number.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest.quantity",
            "path": "MedicationRequest.dispenseRequest.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest.expectedSupplyDuration",
            "path": "MedicationRequest.dispenseRequest.expectedSupplyDuration",
            "comment": "In some situations, this attribute may be used instead of quantity to identify the amount supplied by how long it is expected to last, rather than the physical quantity issued, e.g. 90 days supply of medication (based on an ordered dosage) When possible, it is always better to specify quantity, as this tends to be more precise. expectedSupplyDuration will always be an estimate that can be influenced by external factors.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Duration"
              }
            ]
          },
          {
            "id": "MedicationRequest.dispenseRequest.performer",
            "path": "MedicationRequest.dispenseRequest.performer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "MedicationRequest.substitution",
            "path": "MedicationRequest.substitution",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "MedicationRequest.substitution.allowed",
            "path": "MedicationRequest.substitution.allowed",
            "comment": "This element is labeled as a modifer because whether substitution is allow or not cannot be ignored.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true
          },
          {
            "id": "MedicationRequest.substitution.reason",
            "path": "MedicationRequest.substitution.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationIntendedSubstitutionReason"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-SubstanceAdminSubstitutionReason"
              }
            }
          },
          {
            "id": "MedicationRequest.priorPrescription",
            "path": "MedicationRequest.priorPrescription",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              }
            ]
          },
          {
            "id": "MedicationRequest.detectedIssue",
            "path": "MedicationRequest.detectedIssue",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DetectedIssue"
              }
            ]
          },
          {
            "id": "MedicationRequest.eventHistory",
            "path": "MedicationRequest.eventHistory",
            "comment": "This may not include provenances for all versions of the request – only those deemed “relevant” or important. This SHALL NOT include the Provenance associated with this current version of the resource. (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update. Until then, it can be queried directly as the Provenance that points to this version using _revinclude All Provenances should have some historical version of this Request as their subject.).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/MedicationStatement",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "MedicationStatement",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "phx"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/MedicationStatement",
      "name": "MedicationStatement",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "MedicationStatement",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "MedicationStatement",
            "path": "MedicationStatement",
            "comment": "When interpreting a medicationStatement, the value of the status and NotTaken needed to be considered:\rMedicationStatement.status + MedicationStatement.wasNotTaken\rStatus=Active + NotTaken=T = Not currently taking\rStatus=Completed + NotTaken=T = Not taken in the past\rStatus=Intended + NotTaken=T = No intention of taking\rStatus=Active + NotTaken=F = Taking, but not as prescribed\rStatus=Active + NotTaken=F = Taking\rStatus=Intended +NotTaken= F = Will be taking (not started)\rStatus=Completed + NotTaken=F = Taken in past\rStatus=In Error + NotTaken=N/A = In Error.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "mst-1",
                "severity": "error",
                "human": "Reason not taken is only permitted if Taken is No",
                "expression": "reasonNotTaken.exists().not() or (taken = 'n')",
                "xpath": "not(exists(f:reasonNotTaken)) or f:taken/@value='n'"
              }
            ]
          },
          {
            "id": "MedicationStatement.id",
            "path": "MedicationStatement.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.meta",
            "path": "MedicationStatement.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.implicitRules",
            "path": "MedicationStatement.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MedicationStatement.language",
            "path": "MedicationStatement.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "MedicationStatement.text",
            "path": "MedicationStatement.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "MedicationStatement.contained",
            "path": "MedicationStatement.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "MedicationStatement.extension",
            "path": "MedicationStatement.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MedicationStatement.modifierExtension",
            "path": "MedicationStatement.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "MedicationStatement.identifier",
            "path": "MedicationStatement.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.basedOn",
            "path": "MedicationStatement.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.partOf",
            "path": "MedicationStatement.partOf",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationDispense"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationStatement"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.context",
            "path": "MedicationStatement.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.status",
            "path": "MedicationStatement.status",
            "comment": "MedicationStatement is a statement at a point in time.  The status is only representative at the point when it was asserted.  The value set for MedicationStatement.status contains codes that assert the status of the use of the medication by the patient (for example, stopped or on hold) as well as codes that assert the status of the medication statement itself (for example, entered in error).\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationStatementStatus"
                }
              ],
              "strength": "required",
              "description": "A coded concept indicating the current status of a MedicationStatement.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-statement-status"
              }
            }
          },
          {
            "id": "MedicationStatement.category",
            "path": "MedicationStatement.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationStatementCategory"
                }
              ],
              "strength": "preferred",
              "description": "A coded concept identifying where the medication included in the medicationstatement is expected to be consumed or administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-statement-category"
              }
            }
          },
          {
            "id": "MedicationStatement.medication[x]",
            "path": "MedicationStatement.medication[x]",
            "comment": "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. .",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationCode"
                }
              ],
              "strength": "example",
              "description": "A coded concept identifying the substance or product being taken.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "MedicationStatement.effective[x]",
            "path": "MedicationStatement.effective[x]",
            "comment": "This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Statements. If the medication is still being taken at the time the statement is recorded, the \"end\" date will be omitted.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.dateAsserted",
            "path": "MedicationStatement.dateAsserted",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.informationSource",
            "path": "MedicationStatement.informationSource",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "MedicationStatement.subject",
            "path": "MedicationStatement.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.derivedFrom",
            "path": "MedicationStatement.derivedFrom",
            "comment": "Likely references would be to MedicationRequest, MedicationDispense, Claim, Observation or QuestionnaireAnswers.  The most common use cases for deriving a MedicationStatement comes from creating a MedicationStatement from a MedicationRequest or from a lab observation or a claim.  it should be noted that the amount of information that is available varies from the type resource that you derive the MedicationStatement from.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "MedicationStatement.taken",
            "path": "MedicationStatement.taken",
            "comment": "This element is labeled as a modifier because it indicates that the medication was not taken.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationStatementTaken"
                }
              ],
              "strength": "required",
              "description": "A coded concept identifying level of certainty if patient has taken or has not taken the medication",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-statement-taken"
              }
            }
          },
          {
            "id": "MedicationStatement.reasonNotTaken",
            "path": "MedicationStatement.reasonNotTaken",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "mst-1"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationStatementNotTakenReason"
                }
              ],
              "strength": "example",
              "description": "A coded concept indicating the reason why the medication was not taken",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/reason-medication-not-taken-codes"
              }
            }
          },
          {
            "id": "MedicationStatement.reasonCode",
            "path": "MedicationStatement.reasonCode",
            "comment": "This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonForUseReference.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationReason"
                }
              ],
              "strength": "example",
              "description": "A coded concept identifying why the medication is being taken.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "MedicationStatement.reasonReference",
            "path": "MedicationStatement.reasonReference",
            "comment": "This is a reference to a condition that is the reason why the medication is being/was taken.  If only a code exists, use reasonForUseCode.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ]
          },
          {
            "id": "MedicationStatement.note",
            "path": "MedicationStatement.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "MedicationStatement.dosage",
            "path": "MedicationStatement.dosage",
            "comment": "The dates included in the dosage on a Medication Statement reflect the dates for a given dose.  For example, \"from November 1, 2016 to November 3, 2016, take one tablet daily and from November 4, 2016 to November 7, 2016, take two tablets daily.\"  It is expected that this specificity may only be populated where the patient brings in their labeled container or where the Medication Statement is derived from a MedicationRequest.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Dosage"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "MedicationStatement",
            "path": "MedicationStatement",
            "comment": "When interpreting a medicationStatement, the value of the status and NotTaken needed to be considered:\rMedicationStatement.status + MedicationStatement.wasNotTaken\rStatus=Active + NotTaken=T = Not currently taking\rStatus=Completed + NotTaken=T = Not taken in the past\rStatus=Intended + NotTaken=T = No intention of taking\rStatus=Active + NotTaken=F = Taking, but not as prescribed\rStatus=Active + NotTaken=F = Taking\rStatus=Intended +NotTaken= F = Will be taking (not started)\rStatus=Completed + NotTaken=F = Taken in past\rStatus=In Error + NotTaken=N/A = In Error.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "mst-1",
                "severity": "error",
                "human": "Reason not taken is only permitted if Taken is No",
                "expression": "reasonNotTaken.exists().not() or (taken = 'n')",
                "xpath": "not(exists(f:reasonNotTaken)) or f:taken/@value='n'"
              }
            ]
          },
          {
            "id": "MedicationStatement.identifier",
            "path": "MedicationStatement.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.basedOn",
            "path": "MedicationStatement.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.partOf",
            "path": "MedicationStatement.partOf",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationDispense"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationStatement"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.context",
            "path": "MedicationStatement.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.status",
            "path": "MedicationStatement.status",
            "comment": "MedicationStatement is a statement at a point in time.  The status is only representative at the point when it was asserted.  The value set for MedicationStatement.status contains codes that assert the status of the use of the medication by the patient (for example, stopped or on hold) as well as codes that assert the status of the medication statement itself (for example, entered in error).\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationStatementStatus"
                }
              ],
              "strength": "required",
              "description": "A coded concept indicating the current status of a MedicationStatement.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-statement-status"
              }
            }
          },
          {
            "id": "MedicationStatement.category",
            "path": "MedicationStatement.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationStatementCategory"
                }
              ],
              "strength": "preferred",
              "description": "A coded concept identifying where the medication included in the medicationstatement is expected to be consumed or administered",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-statement-category"
              }
            }
          },
          {
            "id": "MedicationStatement.medication[x]",
            "path": "MedicationStatement.medication[x]",
            "comment": "If only a code is specified, then it needs to be a code for a specific product. If more information is required, then the use of the medication resource is recommended.  For example if you require form or lot number, then you must reference the Medication resource. .",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationCode"
                }
              ],
              "strength": "example",
              "description": "A coded concept identifying the substance or product being taken.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-codes"
              }
            }
          },
          {
            "id": "MedicationStatement.effective[x]",
            "path": "MedicationStatement.effective[x]",
            "comment": "This attribute reflects the period over which the patient consumed the medication and is expected to be populated on the majority of Medication Statements. If the medication is still being taken at the time the statement is recorded, the \"end\" date will be omitted.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.dateAsserted",
            "path": "MedicationStatement.dateAsserted",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.informationSource",
            "path": "MedicationStatement.informationSource",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "MedicationStatement.subject",
            "path": "MedicationStatement.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MedicationStatement.derivedFrom",
            "path": "MedicationStatement.derivedFrom",
            "comment": "Likely references would be to MedicationRequest, MedicationDispense, Claim, Observation or QuestionnaireAnswers.  The most common use cases for deriving a MedicationStatement comes from creating a MedicationStatement from a MedicationRequest or from a lab observation or a claim.  it should be noted that the amount of information that is available varies from the type resource that you derive the MedicationStatement from.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "MedicationStatement.taken",
            "path": "MedicationStatement.taken",
            "comment": "This element is labeled as a modifier because it indicates that the medication was not taken.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationStatementTaken"
                }
              ],
              "strength": "required",
              "description": "A coded concept identifying level of certainty if patient has taken or has not taken the medication",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-statement-taken"
              }
            }
          },
          {
            "id": "MedicationStatement.reasonNotTaken",
            "path": "MedicationStatement.reasonNotTaken",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "mst-1"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationStatementNotTakenReason"
                }
              ],
              "strength": "example",
              "description": "A coded concept indicating the reason why the medication was not taken",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/reason-medication-not-taken-codes"
              }
            }
          },
          {
            "id": "MedicationStatement.reasonCode",
            "path": "MedicationStatement.reasonCode",
            "comment": "This could be a diagnosis code. If a full condition record exists or additional detail is needed, use reasonForUseReference.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MedicationReason"
                }
              ],
              "strength": "example",
              "description": "A coded concept identifying why the medication is being taken.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "MedicationStatement.reasonReference",
            "path": "MedicationStatement.reasonReference",
            "comment": "This is a reference to a condition that is the reason why the medication is being/was taken.  If only a code exists, use reasonForUseCode.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ]
          },
          {
            "id": "MedicationStatement.note",
            "path": "MedicationStatement.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "MedicationStatement.dosage",
            "path": "MedicationStatement.dosage",
            "comment": "The dates included in the dosage on a Medication Statement reflect the dates for a given dose.  For example, \"from November 1, 2016 to November 3, 2016, take one tablet daily and from November 4, 2016 to November 7, 2016, take two tablets daily.\"  It is expected that this specificity may only be populated where the patient brings in their labeled container or where the Medication Statement is derived from a MedicationRequest.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Dosage"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/MessageDefinition",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "MessageDefinition",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "inm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/MessageDefinition",
      "name": "MessageDefinition",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "Allows messages to be defined once and re-used across systems.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "MessageDefinition",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "MessageDefinition",
            "path": "MessageDefinition",
            "comment": "This would be a MIF-level artifact.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "MessageDefinition.id",
            "path": "MessageDefinition.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.meta",
            "path": "MessageDefinition.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.implicitRules",
            "path": "MessageDefinition.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MessageDefinition.language",
            "path": "MessageDefinition.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "MessageDefinition.text",
            "path": "MessageDefinition.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "MessageDefinition.contained",
            "path": "MessageDefinition.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "MessageDefinition.extension",
            "path": "MessageDefinition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MessageDefinition.modifierExtension",
            "path": "MessageDefinition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "MessageDefinition.url",
            "path": "MessageDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.identifier",
            "path": "MessageDefinition.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this message definition outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.version",
            "path": "MessageDefinition.version",
            "comment": "There may be different message definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the message definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.name",
            "path": "MessageDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.title",
            "path": "MessageDefinition.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.status",
            "path": "MessageDefinition.status",
            "comment": "Allows filtering of message definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired message definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "MessageDefinition.experimental",
            "path": "MessageDefinition.experimental",
            "comment": "Allows filtering of message definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental message definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MessageDefinition.date",
            "path": "MessageDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the message definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.publisher",
            "path": "MessageDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the message definition is the organization or individual primarily responsible for the maintenance and upkeep of the message definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the message definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.contact",
            "path": "MessageDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.description",
            "path": "MessageDefinition.description",
            "comment": "This description can be used to capture details such as why the message definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the message definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.useContext",
            "path": "MessageDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.jurisdiction",
            "path": "MessageDefinition.jurisdiction",
            "comment": "It may be possible for the message definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "MessageDefinition.purpose",
            "path": "MessageDefinition.purpose",
            "comment": "This element does not describe the usage of the message definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this message definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.copyright",
            "path": "MessageDefinition.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "MessageDefinition.base",
            "path": "MessageDefinition.base",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MessageDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.parent",
            "path": "MessageDefinition.parent",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.replaces",
            "path": "MessageDefinition.replaces",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MessageDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.event",
            "path": "MessageDefinition.event",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MessageEvent"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "One of the message events defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-events"
              }
            }
          },
          {
            "id": "MessageDefinition.category",
            "path": "MessageDefinition.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MessageSignificanceCategory"
                }
              ],
              "strength": "required",
              "description": "The impact of the content of a message.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-significance-category"
              }
            }
          },
          {
            "id": "MessageDefinition.focus",
            "path": "MessageDefinition.focus",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "md-1",
                "severity": "error",
                "human": "Max must be postive int or *",
                "expression": "max='*' or (max.toInteger() > 0)",
                "xpath": "f:max/@value='*' or number(f:max/@value) > 0"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.focus.id",
            "path": "MessageDefinition.focus.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MessageDefinition.focus.extension",
            "path": "MessageDefinition.focus.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MessageDefinition.focus.modifierExtension",
            "path": "MessageDefinition.focus.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MessageDefinition.focus.code",
            "path": "MessageDefinition.focus.code",
            "comment": "Multiple focuses addressing different resources may occasionally occur.  E.g. to link or unlink a resource from a particular account or encounter, etc.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "MessageDefinition.focus.profile",
            "path": "MessageDefinition.focus.profile",
            "comment": "This should be present for most message definitions.  However, if the message focus is only a single resource and there is no need to include referenced resources or otherwise enforce the presence of particular elements, it can be omitted.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ]
          },
          {
            "id": "MessageDefinition.focus.min",
            "path": "MessageDefinition.focus.min",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "defaultValueUnsignedInt": 0
          },
          {
            "id": "MessageDefinition.focus.max",
            "path": "MessageDefinition.focus.max",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "md-1"
            ]
          },
          {
            "id": "MessageDefinition.responseRequired",
            "path": "MessageDefinition.responseRequired",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "MessageDefinition.allowedResponse",
            "path": "MessageDefinition.allowedResponse",
            "comment": "This indicates an application level response to \"close\" a transaction implicit in a particular request message.  To define a complete workflow scenario, look to the [[PlanDefinition]] resource which allows the definition of complex orchestrations, conditionality, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "MessageDefinition.allowedResponse.id",
            "path": "MessageDefinition.allowedResponse.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MessageDefinition.allowedResponse.extension",
            "path": "MessageDefinition.allowedResponse.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MessageDefinition.allowedResponse.modifierExtension",
            "path": "MessageDefinition.allowedResponse.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MessageDefinition.allowedResponse.message",
            "path": "MessageDefinition.allowedResponse.message",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MessageDefinition"
              }
            ]
          },
          {
            "id": "MessageDefinition.allowedResponse.situation",
            "path": "MessageDefinition.allowedResponse.situation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "MessageDefinition",
            "path": "MessageDefinition",
            "comment": "This would be a MIF-level artifact.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "MessageDefinition.url",
            "path": "MessageDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.identifier",
            "path": "MessageDefinition.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this message definition outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.version",
            "path": "MessageDefinition.version",
            "comment": "There may be different message definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the message definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.name",
            "path": "MessageDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.title",
            "path": "MessageDefinition.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.status",
            "path": "MessageDefinition.status",
            "comment": "Allows filtering of message definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired message definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "MessageDefinition.experimental",
            "path": "MessageDefinition.experimental",
            "comment": "Allows filtering of message definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental message definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MessageDefinition.date",
            "path": "MessageDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the message definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.publisher",
            "path": "MessageDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the message definition is the organization or individual primarily responsible for the maintenance and upkeep of the message definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the message definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.contact",
            "path": "MessageDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.description",
            "path": "MessageDefinition.description",
            "comment": "This description can be used to capture details such as why the message definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the message definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.useContext",
            "path": "MessageDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.jurisdiction",
            "path": "MessageDefinition.jurisdiction",
            "comment": "It may be possible for the message definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "MessageDefinition.purpose",
            "path": "MessageDefinition.purpose",
            "comment": "This element does not describe the usage of the message definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this message definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.copyright",
            "path": "MessageDefinition.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "MessageDefinition.base",
            "path": "MessageDefinition.base",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MessageDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.parent",
            "path": "MessageDefinition.parent",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.replaces",
            "path": "MessageDefinition.replaces",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MessageDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.event",
            "path": "MessageDefinition.event",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MessageEvent"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "One of the message events defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-events"
              }
            }
          },
          {
            "id": "MessageDefinition.category",
            "path": "MessageDefinition.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MessageSignificanceCategory"
                }
              ],
              "strength": "required",
              "description": "The impact of the content of a message.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-significance-category"
              }
            }
          },
          {
            "id": "MessageDefinition.focus",
            "path": "MessageDefinition.focus",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "md-1",
                "severity": "error",
                "human": "Max must be postive int or *",
                "expression": "max='*' or (max.toInteger() > 0)",
                "xpath": "f:max/@value='*' or number(f:max/@value) > 0"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageDefinition.focus.code",
            "path": "MessageDefinition.focus.code",
            "comment": "Multiple focuses addressing different resources may occasionally occur.  E.g. to link or unlink a resource from a particular account or encounter, etc.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "MessageDefinition.focus.profile",
            "path": "MessageDefinition.focus.profile",
            "comment": "This should be present for most message definitions.  However, if the message focus is only a single resource and there is no need to include referenced resources or otherwise enforce the presence of particular elements, it can be omitted.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ]
          },
          {
            "id": "MessageDefinition.focus.min",
            "path": "MessageDefinition.focus.min",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "unsignedInt"
              }
            ],
            "defaultValueUnsignedInt": 0
          },
          {
            "id": "MessageDefinition.focus.max",
            "path": "MessageDefinition.focus.max",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "md-1"
            ]
          },
          {
            "id": "MessageDefinition.responseRequired",
            "path": "MessageDefinition.responseRequired",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "MessageDefinition.allowedResponse",
            "path": "MessageDefinition.allowedResponse",
            "comment": "This indicates an application level response to \"close\" a transaction implicit in a particular request message.  To define a complete workflow scenario, look to the [[PlanDefinition]] resource which allows the definition of complex orchestrations, conditionality, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "MessageDefinition.allowedResponse.message",
            "path": "MessageDefinition.allowedResponse.message",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MessageDefinition"
              }
            ]
          },
          {
            "id": "MessageDefinition.allowedResponse.situation",
            "path": "MessageDefinition.allowedResponse.situation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/MessageHeader",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "MessageHeader",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "inm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/MessageHeader",
      "name": "MessageHeader",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "Many implementations are not prepared to use REST and need a messaging based infrastructure.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "MessageHeader",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "MessageHeader",
            "path": "MessageHeader",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "MessageHeader.id",
            "path": "MessageHeader.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.meta",
            "path": "MessageHeader.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.implicitRules",
            "path": "MessageHeader.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MessageHeader.language",
            "path": "MessageHeader.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "MessageHeader.text",
            "path": "MessageHeader.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "MessageHeader.contained",
            "path": "MessageHeader.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "MessageHeader.extension",
            "path": "MessageHeader.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MessageHeader.modifierExtension",
            "path": "MessageHeader.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "MessageHeader.event",
            "path": "MessageHeader.event",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MessageEvent"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "One of the message events defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-events"
              }
            }
          },
          {
            "id": "MessageHeader.destination",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "MessageDestination"
              }
            ],
            "path": "MessageHeader.destination",
            "comment": "There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.destination.id",
            "path": "MessageHeader.destination.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MessageHeader.destination.extension",
            "path": "MessageHeader.destination.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MessageHeader.destination.modifierExtension",
            "path": "MessageHeader.destination.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MessageHeader.destination.name",
            "path": "MessageHeader.destination.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.destination.target",
            "path": "MessageHeader.destination.target",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.destination.endpoint",
            "path": "MessageHeader.destination.endpoint",
            "comment": "The id may be a non-resolvable URI for systems that do not use standard network-based addresses.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.receiver",
            "path": "MessageHeader.receiver",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.sender",
            "path": "MessageHeader.sender",
            "comment": "Use case is for where a (trusted) sending system is responsible for multiple organizations, and therefore cannot differentiate based on source endpoint / authentication alone.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.timestamp",
            "path": "MessageHeader.timestamp",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.enterer",
            "path": "MessageHeader.enterer",
            "comment": "Usually only for the request, but can be used in a response.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.author",
            "path": "MessageHeader.author",
            "comment": "Usually only for the request, but can be used in a response.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.source",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "MessageSource"
              }
            ],
            "path": "MessageHeader.source",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.source.id",
            "path": "MessageHeader.source.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MessageHeader.source.extension",
            "path": "MessageHeader.source.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MessageHeader.source.modifierExtension",
            "path": "MessageHeader.source.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MessageHeader.source.name",
            "path": "MessageHeader.source.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.source.software",
            "path": "MessageHeader.source.software",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.source.version",
            "path": "MessageHeader.source.version",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.source.contact",
            "path": "MessageHeader.source.contact",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.source.endpoint",
            "path": "MessageHeader.source.endpoint",
            "comment": "The id may be a non-resolvable URI for systems that do not use standard network-based addresses.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.responsible",
            "path": "MessageHeader.responsible",
            "comment": "Usually only for the request, but can be used in a response.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.reason",
            "path": "MessageHeader.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EventReason"
                }
              ],
              "strength": "example",
              "description": "Reason for event occurrence",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-reason-encounter"
              }
            }
          },
          {
            "id": "MessageHeader.response",
            "path": "MessageHeader.response",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.response.id",
            "path": "MessageHeader.response.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "MessageHeader.response.extension",
            "path": "MessageHeader.response.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MessageHeader.response.modifierExtension",
            "path": "MessageHeader.response.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MessageHeader.response.identifier",
            "path": "MessageHeader.response.identifier",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.response.code",
            "path": "MessageHeader.response.code",
            "comment": "This is a generic response to the request message. Specific data for the response will be found in MessageHeader.focus.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResponseType"
                }
              ],
              "strength": "required",
              "description": "The kind of response to a message",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/response-code"
              }
            }
          },
          {
            "id": "MessageHeader.response.details",
            "path": "MessageHeader.response.details",
            "comment": "This SHALL be contained in the bundle. If any of the issues are errors, the response code SHALL be an error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/OperationOutcome"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.focus",
            "path": "MessageHeader.focus",
            "comment": "The data is defined where the transaction type is defined. The transaction data is always included in the bundle that is the full message.  Only the root resource is specified.  The resources it references should be contained in the bundle but are not also listed here.  Multiple repetitions are allowed to cater for merges and other situations with multiple focal targets.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "MessageHeader",
            "path": "MessageHeader",
            "min": 0,
            "max": "*"
          },
          {
            "id": "MessageHeader.event",
            "path": "MessageHeader.event",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MessageEvent"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "One of the message events defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-events"
              }
            }
          },
          {
            "id": "MessageHeader.destination",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "MessageDestination"
              }
            ],
            "path": "MessageHeader.destination",
            "comment": "There SHOULD be at least one destination, but in some circumstances, the source system is unaware of any particular destination system.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.destination.name",
            "path": "MessageHeader.destination.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.destination.target",
            "path": "MessageHeader.destination.target",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.destination.endpoint",
            "path": "MessageHeader.destination.endpoint",
            "comment": "The id may be a non-resolvable URI for systems that do not use standard network-based addresses.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.receiver",
            "path": "MessageHeader.receiver",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.sender",
            "path": "MessageHeader.sender",
            "comment": "Use case is for where a (trusted) sending system is responsible for multiple organizations, and therefore cannot differentiate based on source endpoint / authentication alone.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.timestamp",
            "path": "MessageHeader.timestamp",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.enterer",
            "path": "MessageHeader.enterer",
            "comment": "Usually only for the request, but can be used in a response.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.author",
            "path": "MessageHeader.author",
            "comment": "Usually only for the request, but can be used in a response.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.source",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "MessageSource"
              }
            ],
            "path": "MessageHeader.source",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.source.name",
            "path": "MessageHeader.source.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.source.software",
            "path": "MessageHeader.source.software",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.source.version",
            "path": "MessageHeader.source.version",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.source.contact",
            "path": "MessageHeader.source.contact",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.source.endpoint",
            "path": "MessageHeader.source.endpoint",
            "comment": "The id may be a non-resolvable URI for systems that do not use standard network-based addresses.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.responsible",
            "path": "MessageHeader.responsible",
            "comment": "Usually only for the request, but can be used in a response.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.reason",
            "path": "MessageHeader.reason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EventReason"
                }
              ],
              "strength": "example",
              "description": "Reason for event occurrence",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/message-reason-encounter"
              }
            }
          },
          {
            "id": "MessageHeader.response",
            "path": "MessageHeader.response",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.response.identifier",
            "path": "MessageHeader.response.identifier",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.response.code",
            "path": "MessageHeader.response.code",
            "comment": "This is a generic response to the request message. Specific data for the response will be found in MessageHeader.focus.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResponseType"
                }
              ],
              "strength": "required",
              "description": "The kind of response to a message",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/response-code"
              }
            }
          },
          {
            "id": "MessageHeader.response.details",
            "path": "MessageHeader.response.details",
            "comment": "This SHALL be contained in the bundle. If any of the issues are errors, the response code SHALL be an error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/OperationOutcome"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MessageHeader.focus",
            "path": "MessageHeader.focus",
            "comment": "The data is defined where the transaction type is defined. The transaction data is always included in the bundle that is the full message.  Only the root resource is specified.  The resources it references should be contained in the bundle but are not also listed here.  Multiple repetitions are allowed to cater for merges and other situations with multiple focal targets.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/NamingSystem",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "NamingSystem",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/NamingSystem",
      "name": "NamingSystem",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "NamingSystem",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "NamingSystem",
            "path": "NamingSystem",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "nsd-1",
                "severity": "error",
                "human": "Root systems cannot have uuid identifiers",
                "expression": "kind != 'root' or uniqueId.type = 'uuid'",
                "xpath": "not(f:kind/@value='root' and f:uniqueId/f:type/@value='uuid')"
              },
              {
                "key": "nsd-3",
                "severity": "error",
                "human": "Can only have replacedBy if naming system is retired",
                "expression": "replacedBy.empty() or status = 'retired'",
                "xpath": "not(f:replacedBy) or f:status/@value='retired'"
              },
              {
                "key": "nsd-2",
                "severity": "error",
                "human": "Can't have more than one preferred identifier for a type",
                "expression": "uniqueId.where(preferred = true).select(type).isDistinct()",
                "xpath": "not(exists(for $type in distinct-values(f:uniqueId/f:type/@value) return if (count(f:uniqueId[f:type/@value=$type and f:preferred/@value=true()])>1) then $type else ()))"
              }
            ]
          },
          {
            "id": "NamingSystem.id",
            "path": "NamingSystem.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NamingSystem.meta",
            "path": "NamingSystem.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NamingSystem.implicitRules",
            "path": "NamingSystem.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "NamingSystem.language",
            "path": "NamingSystem.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "NamingSystem.text",
            "path": "NamingSystem.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "NamingSystem.contained",
            "path": "NamingSystem.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "NamingSystem.extension",
            "path": "NamingSystem.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "NamingSystem.modifierExtension",
            "path": "NamingSystem.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "NamingSystem.name",
            "path": "NamingSystem.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. The\"symbolic name\" for an OID would be captured as an extension.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NamingSystem.status",
            "path": "NamingSystem.status",
            "comment": "Allows filtering of naming systems that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired naming system without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "NamingSystem.kind",
            "path": "NamingSystem.kind",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NamingSystemType"
                }
              ],
              "strength": "required",
              "description": "Identifies the purpose of the naming system.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/namingsystem-type"
              }
            }
          },
          {
            "id": "NamingSystem.date",
            "path": "NamingSystem.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the naming system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NamingSystem.publisher",
            "path": "NamingSystem.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the naming system is the organization or individual primarily responsible for the maintenance and upkeep of the naming system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the naming system. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NamingSystem.contact",
            "path": "NamingSystem.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NamingSystem.responsible",
            "path": "NamingSystem.responsible",
            "comment": "This is the primary organization.  Responsibility for some aspects of a namespace may be delegated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NamingSystem.type",
            "path": "NamingSystem.type",
            "comment": "This will most commonly be used for identifier namespaces, but categories could potentially be useful for code systems and authorities as well.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "IdentifierType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/identifier-type"
              }
            }
          },
          {
            "id": "NamingSystem.description",
            "path": "NamingSystem.description",
            "comment": "This description can be used to capture details such as why the naming system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the naming system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "NamingSystem.useContext",
            "path": "NamingSystem.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NamingSystem.jurisdiction",
            "path": "NamingSystem.jurisdiction",
            "comment": "It may be possible for the naming system to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "NamingSystem.usage",
            "path": "NamingSystem.usage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NamingSystem.uniqueId",
            "path": "NamingSystem.uniqueId",
            "comment": "Multiple identifiers may exist, either due to duplicate registration, regional rules, needs of different communication technologies, etc.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "NamingSystem.uniqueId.id",
            "path": "NamingSystem.uniqueId.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NamingSystem.uniqueId.extension",
            "path": "NamingSystem.uniqueId.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "NamingSystem.uniqueId.modifierExtension",
            "path": "NamingSystem.uniqueId.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "NamingSystem.uniqueId.type",
            "path": "NamingSystem.uniqueId.type",
            "comment": "Different identifier types may be used in different types of communications (OIDs for v3, URIs for FHIR, etc.).  Other includes RUIDs from v3, standard v2 code name strings, etc.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NamingSystemIdentifierType"
                }
              ],
              "strength": "required",
              "description": "Identifies the style of unique identifier used to identify a namespace.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/namingsystem-identifier-type"
              }
            }
          },
          {
            "id": "NamingSystem.uniqueId.value",
            "path": "NamingSystem.uniqueId.value",
            "comment": "If the value is a URI intended for use as FHIR system identifier, the URI should not contain \"\\\" or \"?\" or \",\" since this makes escaping very difficult.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NamingSystem.uniqueId.preferred",
            "path": "NamingSystem.uniqueId.preferred",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "meaningWhenMissing": "If there are multiple ids, and one is labeled \"preferred\", then the assumption is that the others are not preferred. In the absence of any id marked as preferred, no inference can be drawn"
          },
          {
            "id": "NamingSystem.uniqueId.comment",
            "path": "NamingSystem.uniqueId.comment",
            "comment": "e.g. \"must be used in Germany\" or \"was initially published in error with this value\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NamingSystem.uniqueId.period",
            "path": "NamingSystem.uniqueId.period",
            "comment": "Within a registry, a given identifier should only be \"active\" for a single namespace at a time.  (Ideally, an identifier should only ever be associated with a single namespace across all time).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "NamingSystem.replacedBy",
            "path": "NamingSystem.replacedBy",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/NamingSystem"
              }
            ],
            "condition": [
              "nsd-3"
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "NamingSystem",
            "path": "NamingSystem",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "nsd-1",
                "severity": "error",
                "human": "Root systems cannot have uuid identifiers",
                "expression": "kind != 'root' or uniqueId.type = 'uuid'",
                "xpath": "not(f:kind/@value='root' and f:uniqueId/f:type/@value='uuid')"
              },
              {
                "key": "nsd-3",
                "severity": "error",
                "human": "Can only have replacedBy if naming system is retired",
                "expression": "replacedBy.empty() or status = 'retired'",
                "xpath": "not(f:replacedBy) or f:status/@value='retired'"
              },
              {
                "key": "nsd-2",
                "severity": "error",
                "human": "Can't have more than one preferred identifier for a type",
                "expression": "uniqueId.where(preferred = true).select(type).isDistinct()",
                "xpath": "not(exists(for $type in distinct-values(f:uniqueId/f:type/@value) return if (count(f:uniqueId[f:type/@value=$type and f:preferred/@value=true()])>1) then $type else ()))"
              }
            ]
          },
          {
            "id": "NamingSystem.name",
            "path": "NamingSystem.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. The\"symbolic name\" for an OID would be captured as an extension.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NamingSystem.status",
            "path": "NamingSystem.status",
            "comment": "Allows filtering of naming systems that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired naming system without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "NamingSystem.kind",
            "path": "NamingSystem.kind",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NamingSystemType"
                }
              ],
              "strength": "required",
              "description": "Identifies the purpose of the naming system.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/namingsystem-type"
              }
            }
          },
          {
            "id": "NamingSystem.date",
            "path": "NamingSystem.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the naming system. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NamingSystem.publisher",
            "path": "NamingSystem.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the naming system is the organization or individual primarily responsible for the maintenance and upkeep of the naming system. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the naming system. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NamingSystem.contact",
            "path": "NamingSystem.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NamingSystem.responsible",
            "path": "NamingSystem.responsible",
            "comment": "This is the primary organization.  Responsibility for some aspects of a namespace may be delegated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NamingSystem.type",
            "path": "NamingSystem.type",
            "comment": "This will most commonly be used for identifier namespaces, but categories could potentially be useful for code systems and authorities as well.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "IdentifierType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/identifier-type"
              }
            }
          },
          {
            "id": "NamingSystem.description",
            "path": "NamingSystem.description",
            "comment": "This description can be used to capture details such as why the naming system was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the naming system as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "NamingSystem.useContext",
            "path": "NamingSystem.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NamingSystem.jurisdiction",
            "path": "NamingSystem.jurisdiction",
            "comment": "It may be possible for the naming system to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "NamingSystem.usage",
            "path": "NamingSystem.usage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NamingSystem.uniqueId",
            "path": "NamingSystem.uniqueId",
            "comment": "Multiple identifiers may exist, either due to duplicate registration, regional rules, needs of different communication technologies, etc.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "NamingSystem.uniqueId.type",
            "path": "NamingSystem.uniqueId.type",
            "comment": "Different identifier types may be used in different types of communications (OIDs for v3, URIs for FHIR, etc.).  Other includes RUIDs from v3, standard v2 code name strings, etc.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NamingSystemIdentifierType"
                }
              ],
              "strength": "required",
              "description": "Identifies the style of unique identifier used to identify a namespace.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/namingsystem-identifier-type"
              }
            }
          },
          {
            "id": "NamingSystem.uniqueId.value",
            "path": "NamingSystem.uniqueId.value",
            "comment": "If the value is a URI intended for use as FHIR system identifier, the URI should not contain \"\\\" or \"?\" or \",\" since this makes escaping very difficult.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NamingSystem.uniqueId.preferred",
            "path": "NamingSystem.uniqueId.preferred",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "meaningWhenMissing": "If there are multiple ids, and one is labeled \"preferred\", then the assumption is that the others are not preferred. In the absence of any id marked as preferred, no inference can be drawn"
          },
          {
            "id": "NamingSystem.uniqueId.comment",
            "path": "NamingSystem.uniqueId.comment",
            "comment": "e.g. \"must be used in Germany\" or \"was initially published in error with this value\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NamingSystem.uniqueId.period",
            "path": "NamingSystem.uniqueId.period",
            "comment": "Within a registry, a given identifier should only be \"active\" for a single namespace at a time.  (Ideally, an identifier should only ever be associated with a single namespace across all time).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "NamingSystem.replacedBy",
            "path": "NamingSystem.replacedBy",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/NamingSystem"
              }
            ],
            "condition": [
              "nsd-3"
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/NutritionOrder",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "NutritionOrder",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/NutritionOrder",
      "name": "NutritionOrder",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "NutritionOrder",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "NutritionOrder",
            "path": "NutritionOrder",
            "comment": "Referenced by an Order Request (workflow).",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "nor-1",
                "severity": "warning",
                "human": "Nutrition Order SHALL contain either Oral Diet , Supplement, or Enteral Formula class",
                "expression": "oralDiet.exists() or supplement.exists() or enteralFormula.exists()",
                "xpath": "exists(f:oralDiet) or exists(f:supplement) or exists(f:enteralFormula)"
              }
            ]
          },
          {
            "id": "NutritionOrder.id",
            "path": "NutritionOrder.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NutritionOrder.meta",
            "path": "NutritionOrder.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NutritionOrder.implicitRules",
            "path": "NutritionOrder.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "NutritionOrder.language",
            "path": "NutritionOrder.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "NutritionOrder.text",
            "path": "NutritionOrder.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "NutritionOrder.contained",
            "path": "NutritionOrder.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "NutritionOrder.extension",
            "path": "NutritionOrder.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "NutritionOrder.modifierExtension",
            "path": "NutritionOrder.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "NutritionOrder.identifier",
            "path": "NutritionOrder.identifier",
            "comment": "The Identifier.type element can be to indicate filler vs. placer if needed.  This is explained in further detail [here](procedurerequest.html#notes).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "NutritionOrder.status",
            "path": "NutritionOrder.status",
            "comment": "Typically the system placing the order sets the status to \"requested\". Thereafter, the order is maintained by the receiver that updates the status as the request is handled.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NutritionOrderStatus"
                }
              ],
              "strength": "required",
              "description": "Codes specifying the state of the request. Describes the lifecycle of the nutrition order.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/nutrition-request-status"
              }
            }
          },
          {
            "id": "NutritionOrder.patient",
            "path": "NutritionOrder.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NutritionOrder.encounter",
            "path": "NutritionOrder.encounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          },
          {
            "id": "NutritionOrder.dateTime",
            "path": "NutritionOrder.dateTime",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NutritionOrder.orderer",
            "path": "NutritionOrder.orderer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NutritionOrder.allergyIntolerance",
            "path": "NutritionOrder.allergyIntolerance",
            "comment": "Information on a patient's food allergies and intolerances to inform healthcare personnel about the type of foods that the patient shouldn't receive or consume.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance"
              }
            ]
          },
          {
            "id": "NutritionOrder.foodPreferenceModifier",
            "path": "NutritionOrder.foodPreferenceModifier",
            "comment": "Information on a patient's food preferences that inform healthcare personnel about the food that the patient should receive or consume.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PatientDiet"
                }
              ],
              "strength": "example",
              "description": "Medical, cultural or ethical food preferences to help with catering requirements",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-diet"
              }
            }
          },
          {
            "id": "NutritionOrder.excludeFoodModifier",
            "path": "NutritionOrder.excludeFoodModifier",
            "comment": "Information on a patient's food allergies, intolerances and preferences to inform healthcare personnel about the type  of foods that the patient shouldn't receive or consume.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FoodType"
                }
              ],
              "strength": "example",
              "description": "Codes used to indicate the type of food that should NOT be given to the patient.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/food-type"
              }
            }
          },
          {
            "id": "NutritionOrder.oralDiet",
            "path": "NutritionOrder.oralDiet",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "nor-1"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.id",
            "path": "NutritionOrder.oralDiet.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.extension",
            "path": "NutritionOrder.oralDiet.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.modifierExtension",
            "path": "NutritionOrder.oralDiet.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "NutritionOrder.oralDiet.type",
            "path": "NutritionOrder.oralDiet.type",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OralDiet"
                }
              ],
              "strength": "example",
              "description": "Codes used to indicate the type of diet being ordered for a patient.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/diet-type"
              }
            }
          },
          {
            "id": "NutritionOrder.oralDiet.schedule",
            "path": "NutritionOrder.oralDiet.schedule",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Timing"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.nutrient",
            "path": "NutritionOrder.oralDiet.nutrient",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.nutrient.id",
            "path": "NutritionOrder.oralDiet.nutrient.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.nutrient.extension",
            "path": "NutritionOrder.oralDiet.nutrient.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.nutrient.modifierExtension",
            "path": "NutritionOrder.oralDiet.nutrient.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "NutritionOrder.oralDiet.nutrient.modifier",
            "path": "NutritionOrder.oralDiet.nutrient.modifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NutrientModifier"
                }
              ],
              "strength": "example",
              "description": "Codes for types of nutrient that is being modified such as carbohydrate or sodium.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/nutrient-code"
              }
            }
          },
          {
            "id": "NutritionOrder.oralDiet.nutrient.amount",
            "path": "NutritionOrder.oralDiet.nutrient.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.texture",
            "path": "NutritionOrder.oralDiet.texture",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.texture.id",
            "path": "NutritionOrder.oralDiet.texture.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.texture.extension",
            "path": "NutritionOrder.oralDiet.texture.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.texture.modifierExtension",
            "path": "NutritionOrder.oralDiet.texture.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "NutritionOrder.oralDiet.texture.modifier",
            "path": "NutritionOrder.oralDiet.texture.modifier",
            "comment": "Coupled with the foodType (Meat).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TextureModifier"
                }
              ],
              "strength": "example",
              "description": "Codes for food consistency types or texture modifications to apply to foods.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/texture-code"
              }
            }
          },
          {
            "id": "NutritionOrder.oralDiet.texture.foodType",
            "path": "NutritionOrder.oralDiet.texture.foodType",
            "comment": "Coupled with the textureModifier; could be (All Foods).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TextureModifiedFoodType"
                }
              ],
              "strength": "example",
              "description": "Codes for types of foods that are texture modified.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/modified-foodtype"
              }
            }
          },
          {
            "id": "NutritionOrder.oralDiet.fluidConsistencyType",
            "path": "NutritionOrder.oralDiet.fluidConsistencyType",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FluidConsistencyType"
                }
              ],
              "strength": "example",
              "description": "Codes used to represent the consistency of fluids and liquids provided to the patient.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consistency-type"
              }
            }
          },
          {
            "id": "NutritionOrder.oralDiet.instruction",
            "path": "NutritionOrder.oralDiet.instruction",
            "comment": "Free text dosage instructions can be used for cases where the instructions are too complex to code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NutritionOrder.supplement",
            "path": "NutritionOrder.supplement",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "nor-1"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "NutritionOrder.supplement.id",
            "path": "NutritionOrder.supplement.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NutritionOrder.supplement.extension",
            "path": "NutritionOrder.supplement.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "NutritionOrder.supplement.modifierExtension",
            "path": "NutritionOrder.supplement.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "NutritionOrder.supplement.type",
            "path": "NutritionOrder.supplement.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplementType"
                }
              ],
              "strength": "example",
              "description": "Codes for nutritional supplements to be provided to the patient",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supplement-type"
              }
            }
          },
          {
            "id": "NutritionOrder.supplement.productName",
            "path": "NutritionOrder.supplement.productName",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NutritionOrder.supplement.schedule",
            "path": "NutritionOrder.supplement.schedule",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Timing"
              }
            ]
          },
          {
            "id": "NutritionOrder.supplement.quantity",
            "path": "NutritionOrder.supplement.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "NutritionOrder.supplement.instruction",
            "path": "NutritionOrder.supplement.instruction",
            "comment": "Free text dosage instructions can be used for cases where the instructions are too complex to code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NutritionOrder.enteralFormula",
            "path": "NutritionOrder.enteralFormula",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "nor-1"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.id",
            "path": "NutritionOrder.enteralFormula.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.extension",
            "path": "NutritionOrder.enteralFormula.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.modifierExtension",
            "path": "NutritionOrder.enteralFormula.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "NutritionOrder.enteralFormula.baseFormulaType",
            "path": "NutritionOrder.enteralFormula.baseFormulaType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EnteralFormulaType"
                }
              ],
              "strength": "example",
              "description": "Codes for type of enteral formula to be administered to patient.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/entformula-type"
              }
            }
          },
          {
            "id": "NutritionOrder.enteralFormula.baseFormulaProductName",
            "path": "NutritionOrder.enteralFormula.baseFormulaProductName",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.additiveType",
            "path": "NutritionOrder.enteralFormula.additiveType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EnteralFormulaAdditiveType"
                }
              ],
              "strength": "example",
              "description": "Codes for the type of modular component such as protein, carbohydrate or fiber to be provided in addition to or mixed with the base formula.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/entformula-additive"
              }
            }
          },
          {
            "id": "NutritionOrder.enteralFormula.additiveProductName",
            "path": "NutritionOrder.enteralFormula.additiveProductName",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.caloricDensity",
            "path": "NutritionOrder.enteralFormula.caloricDensity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.routeofAdministration",
            "path": "NutritionOrder.enteralFormula.routeofAdministration",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EnteralRouteOfAdministration"
                }
              ],
              "strength": "extensible",
              "description": "Codes specifying the route of administration of enteral formula.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/enteral-route"
              }
            }
          },
          {
            "id": "NutritionOrder.enteralFormula.administration",
            "path": "NutritionOrder.enteralFormula.administration",
            "comment": "See implementation notes below for further discussion on how to order continuous vs bolus enteral feeding using this resource.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.administration.id",
            "path": "NutritionOrder.enteralFormula.administration.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.administration.extension",
            "path": "NutritionOrder.enteralFormula.administration.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.administration.modifierExtension",
            "path": "NutritionOrder.enteralFormula.administration.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "NutritionOrder.enteralFormula.administration.schedule",
            "path": "NutritionOrder.enteralFormula.administration.schedule",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Timing"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.administration.quantity",
            "path": "NutritionOrder.enteralFormula.administration.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.administration.rate[x]",
            "path": "NutritionOrder.enteralFormula.administration.rate[x]",
            "comment": "Ratio is used when the quantity value in the denominator is not \"1\", otherwise use Quantity. For example, the Ratio datatype is used for \"200 mL/4 hrs\" versus the Quantity datatype for \"50 mL/hr\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              },
              {
                "code": "Ratio"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.maxVolumeToDeliver",
            "path": "NutritionOrder.enteralFormula.maxVolumeToDeliver",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.administrationInstruction",
            "path": "NutritionOrder.enteralFormula.administrationInstruction",
            "comment": "Free text dosage instructions can be used for cases where the instructions are too complex to code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "NutritionOrder",
            "path": "NutritionOrder",
            "comment": "Referenced by an Order Request (workflow).",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "nor-1",
                "severity": "warning",
                "human": "Nutrition Order SHALL contain either Oral Diet , Supplement, or Enteral Formula class",
                "expression": "oralDiet.exists() or supplement.exists() or enteralFormula.exists()",
                "xpath": "exists(f:oralDiet) or exists(f:supplement) or exists(f:enteralFormula)"
              }
            ]
          },
          {
            "id": "NutritionOrder.identifier",
            "path": "NutritionOrder.identifier",
            "comment": "The Identifier.type element can be to indicate filler vs. placer if needed.  This is explained in further detail [here](procedurerequest.html#notes).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "NutritionOrder.status",
            "path": "NutritionOrder.status",
            "comment": "Typically the system placing the order sets the status to \"requested\". Thereafter, the order is maintained by the receiver that updates the status as the request is handled.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NutritionOrderStatus"
                }
              ],
              "strength": "required",
              "description": "Codes specifying the state of the request. Describes the lifecycle of the nutrition order.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/nutrition-request-status"
              }
            }
          },
          {
            "id": "NutritionOrder.patient",
            "path": "NutritionOrder.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NutritionOrder.encounter",
            "path": "NutritionOrder.encounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          },
          {
            "id": "NutritionOrder.dateTime",
            "path": "NutritionOrder.dateTime",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NutritionOrder.orderer",
            "path": "NutritionOrder.orderer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NutritionOrder.allergyIntolerance",
            "path": "NutritionOrder.allergyIntolerance",
            "comment": "Information on a patient's food allergies and intolerances to inform healthcare personnel about the type of foods that the patient shouldn't receive or consume.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/AllergyIntolerance"
              }
            ]
          },
          {
            "id": "NutritionOrder.foodPreferenceModifier",
            "path": "NutritionOrder.foodPreferenceModifier",
            "comment": "Information on a patient's food preferences that inform healthcare personnel about the food that the patient should receive or consume.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PatientDiet"
                }
              ],
              "strength": "example",
              "description": "Medical, cultural or ethical food preferences to help with catering requirements",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/encounter-diet"
              }
            }
          },
          {
            "id": "NutritionOrder.excludeFoodModifier",
            "path": "NutritionOrder.excludeFoodModifier",
            "comment": "Information on a patient's food allergies, intolerances and preferences to inform healthcare personnel about the type  of foods that the patient shouldn't receive or consume.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FoodType"
                }
              ],
              "strength": "example",
              "description": "Codes used to indicate the type of food that should NOT be given to the patient.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/food-type"
              }
            }
          },
          {
            "id": "NutritionOrder.oralDiet",
            "path": "NutritionOrder.oralDiet",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "nor-1"
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.type",
            "path": "NutritionOrder.oralDiet.type",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OralDiet"
                }
              ],
              "strength": "example",
              "description": "Codes used to indicate the type of diet being ordered for a patient.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/diet-type"
              }
            }
          },
          {
            "id": "NutritionOrder.oralDiet.schedule",
            "path": "NutritionOrder.oralDiet.schedule",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Timing"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.nutrient",
            "path": "NutritionOrder.oralDiet.nutrient",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.nutrient.modifier",
            "path": "NutritionOrder.oralDiet.nutrient.modifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NutrientModifier"
                }
              ],
              "strength": "example",
              "description": "Codes for types of nutrient that is being modified such as carbohydrate or sodium.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/nutrient-code"
              }
            }
          },
          {
            "id": "NutritionOrder.oralDiet.nutrient.amount",
            "path": "NutritionOrder.oralDiet.nutrient.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.texture",
            "path": "NutritionOrder.oralDiet.texture",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "NutritionOrder.oralDiet.texture.modifier",
            "path": "NutritionOrder.oralDiet.texture.modifier",
            "comment": "Coupled with the foodType (Meat).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TextureModifier"
                }
              ],
              "strength": "example",
              "description": "Codes for food consistency types or texture modifications to apply to foods.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/texture-code"
              }
            }
          },
          {
            "id": "NutritionOrder.oralDiet.texture.foodType",
            "path": "NutritionOrder.oralDiet.texture.foodType",
            "comment": "Coupled with the textureModifier; could be (All Foods).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TextureModifiedFoodType"
                }
              ],
              "strength": "example",
              "description": "Codes for types of foods that are texture modified.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/modified-foodtype"
              }
            }
          },
          {
            "id": "NutritionOrder.oralDiet.fluidConsistencyType",
            "path": "NutritionOrder.oralDiet.fluidConsistencyType",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FluidConsistencyType"
                }
              ],
              "strength": "example",
              "description": "Codes used to represent the consistency of fluids and liquids provided to the patient.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/consistency-type"
              }
            }
          },
          {
            "id": "NutritionOrder.oralDiet.instruction",
            "path": "NutritionOrder.oralDiet.instruction",
            "comment": "Free text dosage instructions can be used for cases where the instructions are too complex to code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NutritionOrder.supplement",
            "path": "NutritionOrder.supplement",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "nor-1"
            ]
          },
          {
            "id": "NutritionOrder.supplement.type",
            "path": "NutritionOrder.supplement.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplementType"
                }
              ],
              "strength": "example",
              "description": "Codes for nutritional supplements to be provided to the patient",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supplement-type"
              }
            }
          },
          {
            "id": "NutritionOrder.supplement.productName",
            "path": "NutritionOrder.supplement.productName",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NutritionOrder.supplement.schedule",
            "path": "NutritionOrder.supplement.schedule",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Timing"
              }
            ]
          },
          {
            "id": "NutritionOrder.supplement.quantity",
            "path": "NutritionOrder.supplement.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "NutritionOrder.supplement.instruction",
            "path": "NutritionOrder.supplement.instruction",
            "comment": "Free text dosage instructions can be used for cases where the instructions are too complex to code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "NutritionOrder.enteralFormula",
            "path": "NutritionOrder.enteralFormula",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "nor-1"
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.baseFormulaType",
            "path": "NutritionOrder.enteralFormula.baseFormulaType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EnteralFormulaType"
                }
              ],
              "strength": "example",
              "description": "Codes for type of enteral formula to be administered to patient.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/entformula-type"
              }
            }
          },
          {
            "id": "NutritionOrder.enteralFormula.baseFormulaProductName",
            "path": "NutritionOrder.enteralFormula.baseFormulaProductName",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.additiveType",
            "path": "NutritionOrder.enteralFormula.additiveType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EnteralFormulaAdditiveType"
                }
              ],
              "strength": "example",
              "description": "Codes for the type of modular component such as protein, carbohydrate or fiber to be provided in addition to or mixed with the base formula.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/entformula-additive"
              }
            }
          },
          {
            "id": "NutritionOrder.enteralFormula.additiveProductName",
            "path": "NutritionOrder.enteralFormula.additiveProductName",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.caloricDensity",
            "path": "NutritionOrder.enteralFormula.caloricDensity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.routeofAdministration",
            "path": "NutritionOrder.enteralFormula.routeofAdministration",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "EnteralRouteOfAdministration"
                }
              ],
              "strength": "extensible",
              "description": "Codes specifying the route of administration of enteral formula.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/enteral-route"
              }
            }
          },
          {
            "id": "NutritionOrder.enteralFormula.administration",
            "path": "NutritionOrder.enteralFormula.administration",
            "comment": "See implementation notes below for further discussion on how to order continuous vs bolus enteral feeding using this resource.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.administration.schedule",
            "path": "NutritionOrder.enteralFormula.administration.schedule",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Timing"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.administration.quantity",
            "path": "NutritionOrder.enteralFormula.administration.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.administration.rate[x]",
            "path": "NutritionOrder.enteralFormula.administration.rate[x]",
            "comment": "Ratio is used when the quantity value in the denominator is not \"1\", otherwise use Quantity. For example, the Ratio datatype is used for \"200 mL/4 hrs\" versus the Quantity datatype for \"50 mL/hr\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              },
              {
                "code": "Ratio"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.maxVolumeToDeliver",
            "path": "NutritionOrder.enteralFormula.maxVolumeToDeliver",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "NutritionOrder.enteralFormula.administrationInstruction",
            "path": "NutritionOrder.enteralFormula.administrationInstruction",
            "comment": "Free text dosage instructions can be used for cases where the instructions are too complex to code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Observation",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Observation",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 5
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Observation",
      "name": "Observation",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "Observations are a key aspect of healthcare.  This resource is used to capture those that do not require more sophisticated mechanisms.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Observation",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Observation",
            "path": "Observation",
            "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "obs-7",
                "severity": "error",
                "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                "expression": "value.empty() or code!=component.code",
                "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)"
              },
              {
                "key": "obs-6",
                "severity": "error",
                "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                "expression": "dataAbsentReason.empty() or value.empty()",
                "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))"
              }
            ]
          },
          {
            "id": "Observation.id",
            "path": "Observation.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.meta",
            "path": "Observation.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.implicitRules",
            "path": "Observation.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Observation.language",
            "path": "Observation.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Observation.text",
            "path": "Observation.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Observation.contained",
            "path": "Observation.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Observation.extension",
            "path": "Observation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Observation.modifierExtension",
            "path": "Observation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Observation.identifier",
            "path": "Observation.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.basedOn",
            "path": "Observation.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.status",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                "valueString": "default: final"
              }
            ],
            "path": "Observation.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationStatus"
                }
              ],
              "strength": "required",
              "description": "Codes providing the status of an observation.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-status"
              }
            }
          },
          {
            "id": "Observation.category",
            "path": "Observation.category",
            "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationCategory"
                }
              ],
              "strength": "preferred",
              "description": "Codes for high level observation categories.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-category"
              }
            }
          },
          {
            "id": "Observation.code",
            "path": "Observation.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationCode"
                }
              ],
              "strength": "example",
              "description": "Codes identifying names of simple observations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
              }
            }
          },
          {
            "id": "Observation.subject",
            "path": "Observation.subject",
            "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.context",
            "path": "Observation.context",
            "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ]
          },
          {
            "id": "Observation.effective[x]",
            "path": "Observation.effective[x]",
            "comment": "At least a date should be present unless this observation is a historical report.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.issued",
            "path": "Observation.issued",
            "comment": "Updated when the result is updated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.performer",
            "path": "Observation.performer",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.value[x]",
            "path": "Observation.value[x]",
            "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              },
              {
                "code": "CodeableConcept"
              },
              {
                "code": "string"
              },
              {
                "code": "boolean"
              },
              {
                "code": "Range"
              },
              {
                "code": "Ratio"
              },
              {
                "code": "SampledData"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "time"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "condition": [
              "obs-7"
            ],
            "isSummary": true
          },
          {
            "id": "Observation.dataAbsentReason",
            "path": "Observation.dataAbsentReason",
            "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "obs-6"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationValueAbsentReason"
                }
              ],
              "strength": "extensible",
              "description": "Codes specifying why the result (Observation.value[x]) is missing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
              }
            }
          },
          {
            "id": "Observation.interpretation",
            "path": "Observation.interpretation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationInterpretation"
                }
              ],
              "strength": "extensible",
              "description": "Codes identifying interpretations of observations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
              }
            }
          },
          {
            "id": "Observation.comment",
            "path": "Observation.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Observation.bodySite",
            "path": "Observation.bodySite",
            "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "Observation.method",
            "path": "Observation.method",
            "comment": "Only used if not implicit in code for Observation.code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationMethod"
                }
              ],
              "strength": "example",
              "description": "Methods for simple observations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
              }
            }
          },
          {
            "id": "Observation.specimen",
            "path": "Observation.specimen",
            "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
              }
            ]
          },
          {
            "id": "Observation.device",
            "path": "Observation.device",
            "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
              }
            ]
          },
          {
            "id": "Observation.referenceRange",
            "path": "Observation.referenceRange",
            "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "obs-3",
                "severity": "error",
                "human": "Must have at least a low or a high or text",
                "expression": "low.exists() or high.exists() or text.exists()",
                "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
              }
            ]
          },
          {
            "id": "Observation.referenceRange.id",
            "path": "Observation.referenceRange.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Observation.referenceRange.extension",
            "path": "Observation.referenceRange.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Observation.referenceRange.modifierExtension",
            "path": "Observation.referenceRange.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Observation.referenceRange.low",
            "path": "Observation.referenceRange.low",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ],
            "condition": [
              "obs-3"
            ]
          },
          {
            "id": "Observation.referenceRange.high",
            "path": "Observation.referenceRange.high",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ],
            "condition": [
              "obs-3"
            ]
          },
          {
            "id": "Observation.referenceRange.type",
            "path": "Observation.referenceRange.type",
            "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationRangeMeaning"
                }
              ],
              "strength": "extensible",
              "description": "Code for the meaning of a reference range.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
              }
            }
          },
          {
            "id": "Observation.referenceRange.appliesTo",
            "path": "Observation.referenceRange.appliesTo",
            "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationRangeType"
                }
              ],
              "strength": "example",
              "description": "Codes identifying the population the reference range applies to.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
              }
            }
          },
          {
            "id": "Observation.referenceRange.age",
            "path": "Observation.referenceRange.age",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Range"
              }
            ]
          },
          {
            "id": "Observation.referenceRange.text",
            "path": "Observation.referenceRange.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Observation.related",
            "path": "Observation.related",
            "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.related.id",
            "path": "Observation.related.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Observation.related.extension",
            "path": "Observation.related.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Observation.related.modifierExtension",
            "path": "Observation.related.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Observation.related.type",
            "path": "Observation.related.type",
            "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationRelationshipType"
                }
              ],
              "strength": "required",
              "description": "Codes specifying how two observations are related.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
              }
            }
          },
          {
            "id": "Observation.related.target",
            "path": "Observation.related.target",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Sequence"
              }
            ]
          },
          {
            "id": "Observation.component",
            "path": "Observation.component",
            "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.component.id",
            "path": "Observation.component.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Observation.component.extension",
            "path": "Observation.component.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Observation.component.modifierExtension",
            "path": "Observation.component.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Observation.component.code",
            "path": "Observation.component.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationCode"
                }
              ],
              "strength": "example",
              "description": "Codes identifying names of simple observations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
              }
            }
          },
          {
            "id": "Observation.component.value[x]",
            "path": "Observation.component.value[x]",
            "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              },
              {
                "code": "CodeableConcept"
              },
              {
                "code": "string"
              },
              {
                "code": "Range"
              },
              {
                "code": "Ratio"
              },
              {
                "code": "SampledData"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "time"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.component.dataAbsentReason",
            "path": "Observation.component.dataAbsentReason",
            "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "obs-6"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationValueAbsentReason"
                }
              ],
              "strength": "extensible",
              "description": "Codes specifying why the result (Observation.value[x]) is missing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
              }
            }
          },
          {
            "id": "Observation.component.interpretation",
            "path": "Observation.component.interpretation",
            "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationInterpretation"
                }
              ],
              "strength": "extensible",
              "description": "Codes identifying interpretations of observations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
              }
            }
          },
          {
            "id": "Observation.component.referenceRange",
            "path": "Observation.component.referenceRange",
            "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
            "min": 0,
            "max": "*",
            "contentReference": "#Observation.referenceRange"
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Observation",
            "path": "Observation",
            "comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc.  Other resources are used to provide context for observations such as lab reports, etc.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "obs-7",
                "severity": "error",
                "human": "If code is the same as a component code then the value element associated with the code SHALL NOT be present",
                "expression": "value.empty() or code!=component.code",
                "xpath": "not(exists(f:*[starts-with(local-name(.), 'value')])) or not(count(for $coding in f:code/f:coding return parent::*/f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value and f:system/@value=$coding/f:system/@value])=0)"
              },
              {
                "key": "obs-6",
                "severity": "error",
                "human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
                "expression": "dataAbsentReason.empty() or value.empty()",
                "xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))"
              }
            ]
          },
          {
            "id": "Observation.identifier",
            "path": "Observation.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.basedOn",
            "path": "Observation.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/NutritionOrder"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.status",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint",
                "valueString": "default: final"
              }
            ],
            "path": "Observation.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationStatus"
                }
              ],
              "strength": "required",
              "description": "Codes providing the status of an observation.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-status"
              }
            }
          },
          {
            "id": "Observation.category",
            "path": "Observation.category",
            "comment": "In addition to the required category valueset, this element allows various categorization schemes based on the owner’s definition of the category and effectively multiple categories can be used at once.  The level of granularity is defined by the category concepts in the value set.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationCategory"
                }
              ],
              "strength": "preferred",
              "description": "Codes for high level observation categories.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-category"
              }
            }
          },
          {
            "id": "Observation.code",
            "path": "Observation.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationCode"
                }
              ],
              "strength": "example",
              "description": "Codes identifying names of simple observations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
              }
            }
          },
          {
            "id": "Observation.subject",
            "path": "Observation.subject",
            "comment": "One would expect this element to be a cardinality  of 1..1.  The only circumstance in which the subject can be missing is when the observation is made by a device that does not know the patient. In this case, the observation SHALL be matched to a patient through some context/channel matching technique, and at this point, the observation should be updated.\r\rIf the target of the observation is different than the subject, the general extension [observation-focal-subject](extension-observation-focal-subject.html).  may be used.  However, the distinction between the patient's own value for an observation versus that of the fetus, or the donor or blood product unit, etc., are often specified in the observation code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.context",
            "path": "Observation.context",
            "comment": "This will typically be the encounter the event occurred within, but some events may be initiated prior to or after the official completion of an encounter or episode but still be tied to the context of the encounter or episode (e.g. pre-admission lab tests).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ]
          },
          {
            "id": "Observation.effective[x]",
            "path": "Observation.effective[x]",
            "comment": "At least a date should be present unless this observation is a historical report.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.issued",
            "path": "Observation.issued",
            "comment": "Updated when the result is updated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.performer",
            "path": "Observation.performer",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.value[x]",
            "path": "Observation.value[x]",
            "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. This element has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueString, valueBoolean, valueRange, valueRatio, valueSampledData, valueAttachment, valueTime, valueDateTime, or valuePeriod. (The name format is \"'value' + the type name\" with a capital on the first letter of the type).\r\r\rIf the data element is usually coded or if the type associated with the Observation.value defines a coded value, use CodeableConcept instead of string datatype even if the value is uncoded text.  A value set is bound to the ValueCodeableConcept element.    For further discussion and examples see the  [notes section](observation.html#notes) below.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              },
              {
                "code": "CodeableConcept"
              },
              {
                "code": "string"
              },
              {
                "code": "boolean"
              },
              {
                "code": "Range"
              },
              {
                "code": "Ratio"
              },
              {
                "code": "SampledData"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "time"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "condition": [
              "obs-7"
            ],
            "isSummary": true
          },
          {
            "id": "Observation.dataAbsentReason",
            "path": "Observation.dataAbsentReason",
            "comment": "Null or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"specimen unsatisfactory\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed. Note that an observation may only be reported if there are values to report. For example differential cell counts values may be reported only when > 0.  Because of these options, use-case agreements are required to interpret general observations for null or exceptional values.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "obs-6"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationValueAbsentReason"
                }
              ],
              "strength": "extensible",
              "description": "Codes specifying why the result (Observation.value[x]) is missing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
              }
            }
          },
          {
            "id": "Observation.interpretation",
            "path": "Observation.interpretation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationInterpretation"
                }
              ],
              "strength": "extensible",
              "description": "Codes identifying interpretations of observations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
              }
            }
          },
          {
            "id": "Observation.comment",
            "path": "Observation.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Observation.bodySite",
            "path": "Observation.bodySite",
            "comment": "Only used if not implicit in code found in Observation.code.  In many systems, this may be represented as a related observation instead of an inline component.   If the use case requires BodySite to be handled as a separate resource (e.g. to identify and track separately) then use the standard extension[ body-site-instance](extension-body-site-instance.html).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "Observation.method",
            "path": "Observation.method",
            "comment": "Only used if not implicit in code for Observation.code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationMethod"
                }
              ],
              "strength": "example",
              "description": "Methods for simple observations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-methods"
              }
            }
          },
          {
            "id": "Observation.specimen",
            "path": "Observation.specimen",
            "comment": "Should only be used if not implicit in code found in `Observation.code`.  Observations are not made on specimens themselves; they are made on a subject, but in many cases by the means of a specimen. Note that although specimens are often involved, they are not always tracked and reported explicitly. Also note that observation resources may be used in contexts that track the specimen explicitly (e.g. Diagnostic Report).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
              }
            ]
          },
          {
            "id": "Observation.device",
            "path": "Observation.device",
            "comment": "An extension should be used if further typing of the device is needed.  Devices used to support obtaining an observation can be represented using either an extension or through the Observation.related element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DeviceMetric"
              }
            ]
          },
          {
            "id": "Observation.referenceRange",
            "path": "Observation.referenceRange",
            "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "obs-3",
                "severity": "error",
                "human": "Must have at least a low or a high or text",
                "expression": "low.exists() or high.exists() or text.exists()",
                "xpath": "(exists(f:low) or exists(f:high)or exists(f:text))"
              }
            ]
          },
          {
            "id": "Observation.referenceRange.low",
            "path": "Observation.referenceRange.low",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ],
            "condition": [
              "obs-3"
            ]
          },
          {
            "id": "Observation.referenceRange.high",
            "path": "Observation.referenceRange.high",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ],
            "condition": [
              "obs-3"
            ]
          },
          {
            "id": "Observation.referenceRange.type",
            "path": "Observation.referenceRange.type",
            "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal range is assumed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationRangeMeaning"
                }
              ],
              "strength": "extensible",
              "description": "Code for the meaning of a reference range.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/referencerange-meaning"
              }
            }
          },
          {
            "id": "Observation.referenceRange.appliesTo",
            "path": "Observation.referenceRange.appliesTo",
            "comment": "This SHOULD be populated if there is more than one range.  If this element is not present then the normal population is assumed.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationRangeType"
                }
              ],
              "strength": "example",
              "description": "Codes identifying the population the reference range applies to.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/referencerange-appliesto"
              }
            }
          },
          {
            "id": "Observation.referenceRange.age",
            "path": "Observation.referenceRange.age",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Range"
              }
            ]
          },
          {
            "id": "Observation.referenceRange.text",
            "path": "Observation.referenceRange.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Observation.related",
            "path": "Observation.related",
            "comment": "For a discussion on the ways Observations can assembled in groups together see [Notes below](observation.html#4.20.4).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.related.type",
            "path": "Observation.related.type",
            "comment": "The \"derived-from\" type is the only logical choice when referencing the QuestionnaireAnswer resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationRelationshipType"
                }
              ],
              "strength": "required",
              "description": "Codes specifying how two observations are related.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-relationshiptypes"
              }
            }
          },
          {
            "id": "Observation.related.target",
            "path": "Observation.related.target",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Sequence"
              }
            ]
          },
          {
            "id": "Observation.component",
            "path": "Observation.component",
            "comment": "For a discussion on the ways Observations can be assembled in groups together see [Notes](observation.html#notes) below.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.component.code",
            "path": "Observation.component.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationCode"
                }
              ],
              "strength": "example",
              "description": "Codes identifying names of simple observations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
              }
            }
          },
          {
            "id": "Observation.component.value[x]",
            "path": "Observation.component.value[x]",
            "comment": "Normally, an observation will have either a single value or a set of related observations. A few observations (e.g. Apgar score) may have both a value and related observations (for an Apgar score, the observations from which the measure is derived). If a value is present, the datatype for this element should be determined by Observation.code. A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Observation.code defines a coded value.   For boolean values use valueCodeableConcept and select codes from <http://hl7.org/fhir/ValueSet/v2-0136> (these \"yes/no\" concepts can be mapped to the display name \"true/false\" or other mutually exclusive terms that may be needed\").  The element, Observation.value[x], has a variable name depending on the type as follows: valueQuantity, valueCodeableConcept, valueRatio, valueChoice, valuePeriod, valueSampleData, or valueString (the name format is \"'value' + the type name\" with a capital on the first letter of the type).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              },
              {
                "code": "CodeableConcept"
              },
              {
                "code": "string"
              },
              {
                "code": "Range"
              },
              {
                "code": "Ratio"
              },
              {
                "code": "SampledData"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "time"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Observation.component.dataAbsentReason",
            "path": "Observation.component.dataAbsentReason",
            "comment": "\"Null\" or exceptional values can be represented two ways in FHIR Observations.  One way is to simply include them in the value set and represent the exceptions in the value.  For example, measurement values for a serology test could be  \"detected\", \"not detected\", \"inconclusive\", or  \"test not done\".   The alternate way is to use the value element for actual observations and use the explicit dataAbsentReason element to record exceptional values.  For example, the dataAbsentReason code \"error\" could be used when the measurement was not completed.  Because of these options, use-case agreements are required to interpret general observations for exceptional values.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "obs-6"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationValueAbsentReason"
                }
              ],
              "strength": "extensible",
              "description": "Codes specifying why the result (Observation.value[x]) is missing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-valueabsentreason"
              }
            }
          },
          {
            "id": "Observation.component.interpretation",
            "path": "Observation.component.interpretation",
            "comment": "The component interpretation applies only to the individual component value.  For an overall interpretation all components together use thes Observation.interpretation element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ObservationInterpretation"
                }
              ],
              "strength": "extensible",
              "description": "Codes identifying interpretations of observations.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-interpretation"
              }
            }
          },
          {
            "id": "Observation.component.referenceRange",
            "path": "Observation.component.referenceRange",
            "comment": "Most observations only have one generic reference range. Systems MAY choose to restrict to only supplying the relevant reference range based on knowledge about the patient (e.g., specific to the patient's age, gender, weight and other factors), but this may not be possible or appropriate. Whenever more than one reference range is supplied, the differences between them SHOULD be provided in the reference range and/or age properties.",
            "min": 0,
            "max": "*",
            "contentReference": "#Observation.referenceRange"
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/OperationDefinition",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "OperationDefinition",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 4
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/OperationDefinition",
      "name": "OperationDefinition",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "OperationDefinition",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "OperationDefinition",
            "path": "OperationDefinition",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "OperationDefinition.id",
            "path": "OperationDefinition.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.meta",
            "path": "OperationDefinition.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.implicitRules",
            "path": "OperationDefinition.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "OperationDefinition.language",
            "path": "OperationDefinition.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "OperationDefinition.text",
            "path": "OperationDefinition.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "OperationDefinition.contained",
            "path": "OperationDefinition.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "OperationDefinition.extension",
            "path": "OperationDefinition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "OperationDefinition.modifierExtension",
            "path": "OperationDefinition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "OperationDefinition.url",
            "path": "OperationDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.version",
            "path": "OperationDefinition.version",
            "comment": "There may be different operation definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the operation definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.name",
            "path": "OperationDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.status",
            "path": "OperationDefinition.status",
            "comment": "Allows filtering of operation definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired operation definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "OperationDefinition.kind",
            "path": "OperationDefinition.kind",
            "comment": "Named queries are invoked differently, and have different capabilities.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OperationKind"
                }
              ],
              "strength": "required",
              "description": "Whether an operation is a normal operation or a query.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/operation-kind"
              }
            }
          },
          {
            "id": "OperationDefinition.experimental",
            "path": "OperationDefinition.experimental",
            "comment": "Allows filtering of operation definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental operation definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "OperationDefinition.date",
            "path": "OperationDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the operation definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.publisher",
            "path": "OperationDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the operation definition is the organization or individual primarily responsible for the maintenance and upkeep of the operation definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the operation definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.contact",
            "path": "OperationDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.description",
            "path": "OperationDefinition.description",
            "comment": "This description can be used to capture details such as why the operation definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the operation definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "OperationDefinition.useContext",
            "path": "OperationDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.jurisdiction",
            "path": "OperationDefinition.jurisdiction",
            "comment": "It may be possible for the operation definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "OperationDefinition.purpose",
            "path": "OperationDefinition.purpose",
            "comment": "This element does not describe the usage of the operation definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this operation definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "OperationDefinition.idempotent",
            "path": "OperationDefinition.idempotent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.code",
            "path": "OperationDefinition.code",
            "comment": "The code does not include the '$' prefix that is always included in the URL when the operation is invoked.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.comment",
            "path": "OperationDefinition.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "OperationDefinition.base",
            "path": "OperationDefinition.base",
            "comment": "A constrained profile can make optional parameters required or not used and clarify documentation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/OperationDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.resource",
            "path": "OperationDefinition.resource",
            "comment": "If the type is an abstract resource (\"Resource\" or \"DomainResource\") then the operation can be invoked on any concrete specialization.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "OperationDefinition.system",
            "path": "OperationDefinition.system",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.type",
            "path": "OperationDefinition.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.instance",
            "path": "OperationDefinition.instance",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.parameter",
            "path": "OperationDefinition.parameter",
            "comment": "Query Definitions only have one output parameter, named \"result\". This may not be described, but can be to allow a profile to be defined.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "opd-1",
                "severity": "error",
                "human": "Either a type must be provided, or parts",
                "expression": "type.exists() or part.exists()",
                "xpath": "exists(f:type) or exists(f:part)"
              },
              {
                "key": "opd-2",
                "severity": "error",
                "human": "A search type can only be specified for parameters of type string",
                "expression": "searchType implies type = 'string'",
                "xpath": "not(exists(f:searchType)) or (f:type/@value = 'string')"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.id",
            "path": "OperationDefinition.parameter.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.extension",
            "path": "OperationDefinition.parameter.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.modifierExtension",
            "path": "OperationDefinition.parameter.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "OperationDefinition.parameter.name",
            "path": "OperationDefinition.parameter.name",
            "comment": "This name must be a token (start with a letter in a..z, and only contain letters, numerals, and underscore. Note that for search parameters (type = string, with a search type), the name may be altered by the search modifiers.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.use",
            "path": "OperationDefinition.parameter.use",
            "comment": "If a parameter name is used for both an input and an output parameter, the parameter should be defined twice.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OperationParameterUse"
                }
              ],
              "strength": "required",
              "description": "Whether an operation parameter is an input or an output parameter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/operation-parameter-use"
              }
            }
          },
          {
            "id": "OperationDefinition.parameter.min",
            "path": "OperationDefinition.parameter.min",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.max",
            "path": "OperationDefinition.parameter.max",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.documentation",
            "path": "OperationDefinition.parameter.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.type",
            "path": "OperationDefinition.parameter.type",
            "comment": "if there is no stated parameter, then the parameter is a multi-part parameter; type and must have at least one part defined.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "opd-1"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FHIRAllTypes"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Either an abstract type, a resource or a data type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/all-types"
              }
            }
          },
          {
            "id": "OperationDefinition.parameter.searchType",
            "path": "OperationDefinition.parameter.searchType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "opd-2"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SearchParamType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Data types allowed to be used for search parameters.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-param-type"
              }
            }
          },
          {
            "id": "OperationDefinition.parameter.profile",
            "path": "OperationDefinition.parameter.profile",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.binding",
            "path": "OperationDefinition.parameter.binding",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.binding.id",
            "path": "OperationDefinition.parameter.binding.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.binding.extension",
            "path": "OperationDefinition.parameter.binding.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.binding.modifierExtension",
            "path": "OperationDefinition.parameter.binding.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "OperationDefinition.parameter.binding.strength",
            "path": "OperationDefinition.parameter.binding.strength",
            "comment": "For further discussion, see [Using Terminologies](terminologies.html).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BindingStrength"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Indication of the degree of conformance expectations associated with a binding.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/binding-strength"
              }
            }
          },
          {
            "id": "OperationDefinition.parameter.binding.valueSet[x]",
            "path": "OperationDefinition.parameter.binding.valueSet[x]",
            "comment": "For value sets with a referenceResource, the display can contain the value set description.  The reference may be version-specific or not.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ValueSet"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.part",
            "path": "OperationDefinition.parameter.part",
            "comment": "Query Definitions only have one output parameter, named \"result\". This may not be described, but can be to allow a profile to be defined.",
            "min": 0,
            "max": "*",
            "contentReference": "#OperationDefinition.parameter",
            "condition": [
              "opd-1"
            ]
          },
          {
            "id": "OperationDefinition.overload",
            "path": "OperationDefinition.overload",
            "comment": "The combinations are suggestions as to which sets of parameters to use together, but the combinations are not intended to be authoritative.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "OperationDefinition.overload.id",
            "path": "OperationDefinition.overload.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "OperationDefinition.overload.extension",
            "path": "OperationDefinition.overload.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "OperationDefinition.overload.modifierExtension",
            "path": "OperationDefinition.overload.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "OperationDefinition.overload.parameterName",
            "path": "OperationDefinition.overload.parameterName",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "OperationDefinition.overload.comment",
            "path": "OperationDefinition.overload.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "OperationDefinition",
            "path": "OperationDefinition",
            "min": 0,
            "max": "*"
          },
          {
            "id": "OperationDefinition.url",
            "path": "OperationDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.version",
            "path": "OperationDefinition.version",
            "comment": "There may be different operation definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the operation definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.name",
            "path": "OperationDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.status",
            "path": "OperationDefinition.status",
            "comment": "Allows filtering of operation definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired operation definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "OperationDefinition.kind",
            "path": "OperationDefinition.kind",
            "comment": "Named queries are invoked differently, and have different capabilities.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OperationKind"
                }
              ],
              "strength": "required",
              "description": "Whether an operation is a normal operation or a query.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/operation-kind"
              }
            }
          },
          {
            "id": "OperationDefinition.experimental",
            "path": "OperationDefinition.experimental",
            "comment": "Allows filtering of operation definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental operation definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "OperationDefinition.date",
            "path": "OperationDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the operation definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.publisher",
            "path": "OperationDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the operation definition is the organization or individual primarily responsible for the maintenance and upkeep of the operation definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the operation definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.contact",
            "path": "OperationDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.description",
            "path": "OperationDefinition.description",
            "comment": "This description can be used to capture details such as why the operation definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the operation definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "OperationDefinition.useContext",
            "path": "OperationDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.jurisdiction",
            "path": "OperationDefinition.jurisdiction",
            "comment": "It may be possible for the operation definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "OperationDefinition.purpose",
            "path": "OperationDefinition.purpose",
            "comment": "This element does not describe the usage of the operation definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this operation definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "OperationDefinition.idempotent",
            "path": "OperationDefinition.idempotent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.code",
            "path": "OperationDefinition.code",
            "comment": "The code does not include the '$' prefix that is always included in the URL when the operation is invoked.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.comment",
            "path": "OperationDefinition.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "OperationDefinition.base",
            "path": "OperationDefinition.base",
            "comment": "A constrained profile can make optional parameters required or not used and clarify documentation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/OperationDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.resource",
            "path": "OperationDefinition.resource",
            "comment": "If the type is an abstract resource (\"Resource\" or \"DomainResource\") then the operation can be invoked on any concrete specialization.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "OperationDefinition.system",
            "path": "OperationDefinition.system",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.type",
            "path": "OperationDefinition.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.instance",
            "path": "OperationDefinition.instance",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationDefinition.parameter",
            "path": "OperationDefinition.parameter",
            "comment": "Query Definitions only have one output parameter, named \"result\". This may not be described, but can be to allow a profile to be defined.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "opd-1",
                "severity": "error",
                "human": "Either a type must be provided, or parts",
                "expression": "type.exists() or part.exists()",
                "xpath": "exists(f:type) or exists(f:part)"
              },
              {
                "key": "opd-2",
                "severity": "error",
                "human": "A search type can only be specified for parameters of type string",
                "expression": "searchType implies type = 'string'",
                "xpath": "not(exists(f:searchType)) or (f:type/@value = 'string')"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.name",
            "path": "OperationDefinition.parameter.name",
            "comment": "This name must be a token (start with a letter in a..z, and only contain letters, numerals, and underscore. Note that for search parameters (type = string, with a search type), the name may be altered by the search modifiers.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.use",
            "path": "OperationDefinition.parameter.use",
            "comment": "If a parameter name is used for both an input and an output parameter, the parameter should be defined twice.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OperationParameterUse"
                }
              ],
              "strength": "required",
              "description": "Whether an operation parameter is an input or an output parameter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/operation-parameter-use"
              }
            }
          },
          {
            "id": "OperationDefinition.parameter.min",
            "path": "OperationDefinition.parameter.min",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.max",
            "path": "OperationDefinition.parameter.max",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.documentation",
            "path": "OperationDefinition.parameter.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.type",
            "path": "OperationDefinition.parameter.type",
            "comment": "if there is no stated parameter, then the parameter is a multi-part parameter; type and must have at least one part defined.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "opd-1"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FHIRAllTypes"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Either an abstract type, a resource or a data type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/all-types"
              }
            }
          },
          {
            "id": "OperationDefinition.parameter.searchType",
            "path": "OperationDefinition.parameter.searchType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "opd-2"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SearchParamType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Data types allowed to be used for search parameters.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-param-type"
              }
            }
          },
          {
            "id": "OperationDefinition.parameter.profile",
            "path": "OperationDefinition.parameter.profile",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureDefinition"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.binding",
            "path": "OperationDefinition.parameter.binding",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.binding.strength",
            "path": "OperationDefinition.parameter.binding.strength",
            "comment": "For further discussion, see [Using Terminologies](terminologies.html).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BindingStrength"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Indication of the degree of conformance expectations associated with a binding.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/binding-strength"
              }
            }
          },
          {
            "id": "OperationDefinition.parameter.binding.valueSet[x]",
            "path": "OperationDefinition.parameter.binding.valueSet[x]",
            "comment": "For value sets with a referenceResource, the display can contain the value set description.  The reference may be version-specific or not.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ValueSet"
              }
            ]
          },
          {
            "id": "OperationDefinition.parameter.part",
            "path": "OperationDefinition.parameter.part",
            "comment": "Query Definitions only have one output parameter, named \"result\". This may not be described, but can be to allow a profile to be defined.",
            "min": 0,
            "max": "*",
            "contentReference": "#OperationDefinition.parameter",
            "condition": [
              "opd-1"
            ]
          },
          {
            "id": "OperationDefinition.overload",
            "path": "OperationDefinition.overload",
            "comment": "The combinations are suggestions as to which sets of parameters to use together, but the combinations are not intended to be authoritative.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "OperationDefinition.overload.parameterName",
            "path": "OperationDefinition.overload.parameterName",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "OperationDefinition.overload.comment",
            "path": "OperationDefinition.overload.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/OperationOutcome",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "OperationOutcome",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 5
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/OperationOutcome",
      "name": "OperationOutcome",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "OperationOutcome",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "OperationOutcome",
            "path": "OperationOutcome",
            "comment": "Can result from the failure of a REST call or be part of the response message returned from a request message.  If sent with extensions overriding particular issues, might even appear as part of a request message.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "OperationOutcome.id",
            "path": "OperationOutcome.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationOutcome.meta",
            "path": "OperationOutcome.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationOutcome.implicitRules",
            "path": "OperationOutcome.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "OperationOutcome.language",
            "path": "OperationOutcome.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "OperationOutcome.text",
            "path": "OperationOutcome.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "OperationOutcome.contained",
            "path": "OperationOutcome.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "OperationOutcome.extension",
            "path": "OperationOutcome.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "OperationOutcome.modifierExtension",
            "path": "OperationOutcome.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "OperationOutcome.issue",
            "path": "OperationOutcome.issue",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationOutcome.issue.id",
            "path": "OperationOutcome.issue.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "OperationOutcome.issue.extension",
            "path": "OperationOutcome.issue.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "OperationOutcome.issue.modifierExtension",
            "path": "OperationOutcome.issue.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "OperationOutcome.issue.severity",
            "path": "OperationOutcome.issue.severity",
            "comment": "This is labeled as \"Is Modifier\" because applications should not confuse hints and warnings with errors.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "IssueSeverity"
                }
              ],
              "strength": "required",
              "description": "How the issue affects the success of the action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/issue-severity"
              }
            }
          },
          {
            "id": "OperationOutcome.issue.code",
            "path": "OperationOutcome.issue.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "IssueType"
                }
              ],
              "strength": "required",
              "description": "A code that describes the type of issue.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/issue-type"
              }
            }
          },
          {
            "id": "OperationOutcome.issue.details",
            "path": "OperationOutcome.issue.details",
            "comment": "A human readable description of the error issue SHOULD be placed in details.text.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "IssueDetails"
                }
              ],
              "strength": "example",
              "description": "A code that provides details as the exact issue.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/operation-outcome"
              }
            }
          },
          {
            "id": "OperationOutcome.issue.diagnostics",
            "path": "OperationOutcome.issue.diagnostics",
            "comment": "Typically this field is used to provide troubleshooting information about the error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationOutcome.issue.location",
            "path": "OperationOutcome.issue.location",
            "comment": "The root of the XPath is the resource or bundle that generated OperationOutcome.  Each XPath SHALL resolve to a single node.  The XPath syntax is used whether the referenced instance is expressed in XML or JSON. Note that expression is being trialed as an alternative to XPath.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationOutcome.issue.expression",
            "path": "OperationOutcome.issue.expression",
            "comment": "The root of the FHIRPath is the resource or bundle that generated OperationOutcome.  Each FHIRPath SHALL resolve to a single node.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "OperationOutcome",
            "path": "OperationOutcome",
            "comment": "Can result from the failure of a REST call or be part of the response message returned from a request message.  If sent with extensions overriding particular issues, might even appear as part of a request message.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "OperationOutcome.issue",
            "path": "OperationOutcome.issue",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationOutcome.issue.severity",
            "path": "OperationOutcome.issue.severity",
            "comment": "This is labeled as \"Is Modifier\" because applications should not confuse hints and warnings with errors.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "IssueSeverity"
                }
              ],
              "strength": "required",
              "description": "How the issue affects the success of the action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/issue-severity"
              }
            }
          },
          {
            "id": "OperationOutcome.issue.code",
            "path": "OperationOutcome.issue.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "IssueType"
                }
              ],
              "strength": "required",
              "description": "A code that describes the type of issue.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/issue-type"
              }
            }
          },
          {
            "id": "OperationOutcome.issue.details",
            "path": "OperationOutcome.issue.details",
            "comment": "A human readable description of the error issue SHOULD be placed in details.text.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "IssueDetails"
                }
              ],
              "strength": "example",
              "description": "A code that provides details as the exact issue.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/operation-outcome"
              }
            }
          },
          {
            "id": "OperationOutcome.issue.diagnostics",
            "path": "OperationOutcome.issue.diagnostics",
            "comment": "Typically this field is used to provide troubleshooting information about the error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationOutcome.issue.location",
            "path": "OperationOutcome.issue.location",
            "comment": "The root of the XPath is the resource or bundle that generated OperationOutcome.  Each XPath SHALL resolve to a single node.  The XPath syntax is used whether the referenced instance is expressed in XML or JSON. Note that expression is being trialed as an alternative to XPath.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "OperationOutcome.issue.expression",
            "path": "OperationOutcome.issue.expression",
            "comment": "The root of the FHIRPath is the resource or bundle that generated OperationOutcome.  Each FHIRPath SHALL resolve to a single node.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Organization",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Organization",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Organization",
      "name": "Organization",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Organization",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Organization",
            "path": "Organization",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "org-1",
                "severity": "error",
                "human": "The organization SHALL at least have a name or an id, and possibly more than one",
                "expression": "(identifier.count() + name.count()) > 0",
                "xpath": "count(f:identifier | f:name) > 0"
              }
            ]
          },
          {
            "id": "Organization.id",
            "path": "Organization.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Organization.meta",
            "path": "Organization.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Organization.implicitRules",
            "path": "Organization.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Organization.language",
            "path": "Organization.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Organization.text",
            "path": "Organization.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Organization.contained",
            "path": "Organization.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Organization.extension",
            "path": "Organization.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Organization.modifierExtension",
            "path": "Organization.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Organization.identifier",
            "path": "Organization.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "condition": [
              "org-1"
            ],
            "isSummary": true
          },
          {
            "id": "Organization.active",
            "path": "Organization.active",
            "comment": "Default is true.\n\nThis active flag is not intended to be used to mark an organizations as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used.\n\nThis element is labeled as a modifier because it may be used to mark that the resource was created in error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Organization.type",
            "path": "Organization.type",
            "comment": "Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes\n\nWhen considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center.\n\nWe expect that some jurisdictions will profile this optionality to be a single cardinality.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OrganizationType"
                }
              ],
              "strength": "example",
              "description": "Used to categorize the organization",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/organization-type"
              }
            }
          },
          {
            "id": "Organization.name",
            "path": "Organization.name",
            "comment": "If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "org-1"
            ],
            "isSummary": true
          },
          {
            "id": "Organization.alias",
            "path": "Organization.alias",
            "comment": "There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Organization.telecom",
            "path": "Organization.telecom",
            "comment": "The use code home is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "condition": [
              "org-3"
            ],
            "constraint": [
              {
                "key": "org-3",
                "severity": "error",
                "human": "The telecom of an organization can never be of use 'home'",
                "expression": "where(use = 'home').empty()",
                "xpath": "count(f:use[@value='home']) = 0"
              }
            ]
          },
          {
            "id": "Organization.address",
            "path": "Organization.address",
            "comment": "Organization may have multiple addresses with different uses or applicable periods. The use code home is not to be used.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Address"
              }
            ],
            "condition": [
              "org-2"
            ],
            "constraint": [
              {
                "key": "org-2",
                "severity": "error",
                "human": "An address of an organization can never be of use 'home'",
                "expression": "where(use = 'home').empty()",
                "xpath": "count(f:use[@value='home']) = 0"
              }
            ]
          },
          {
            "id": "Organization.partOf",
            "path": "Organization.partOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Organization.contact",
            "path": "Organization.contact",
            "comment": "Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Organization.contact.id",
            "path": "Organization.contact.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Organization.contact.extension",
            "path": "Organization.contact.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Organization.contact.modifierExtension",
            "path": "Organization.contact.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Organization.contact.purpose",
            "path": "Organization.contact.purpose",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContactPartyType"
                }
              ],
              "strength": "extensible",
              "description": "The purpose for which you would contact a contact party",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contactentity-type"
              }
            }
          },
          {
            "id": "Organization.contact.name",
            "path": "Organization.contact.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "HumanName"
              }
            ]
          },
          {
            "id": "Organization.contact.telecom",
            "path": "Organization.contact.telecom",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ]
          },
          {
            "id": "Organization.contact.address",
            "path": "Organization.contact.address",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Address"
              }
            ]
          },
          {
            "id": "Organization.endpoint",
            "path": "Organization.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Organization",
            "path": "Organization",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "org-1",
                "severity": "error",
                "human": "The organization SHALL at least have a name or an id, and possibly more than one",
                "expression": "(identifier.count() + name.count()) > 0",
                "xpath": "count(f:identifier | f:name) > 0"
              }
            ]
          },
          {
            "id": "Organization.identifier",
            "path": "Organization.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "condition": [
              "org-1"
            ],
            "isSummary": true
          },
          {
            "id": "Organization.active",
            "path": "Organization.active",
            "comment": "Default is true.\n\nThis active flag is not intended to be used to mark an organizations as temporarily closed or under construction. Instead the Location(s) within the Organization should have the suspended status. If further details of the reason for the suspension are required, then an extension on this element should be used.\n\nThis element is labeled as a modifier because it may be used to mark that the resource was created in error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Organization.type",
            "path": "Organization.type",
            "comment": "Organizations can be corporations, wards, sections, clinical teams, government departments, etc. Note that code is generally a classifier of the type of organization; in many applications, codes are used to identity a particular organization (say, ward) as opposed to another of the same type - these are identifiers, not codes\n\nWhen considering if multiple types are appropriate, you should evaluate if child organizations would be a more appropriate use of the concept, as different types likely are in different sub-areas of the organization. This is most likely to be used where type values have orthogonal values, such as a religious, academic and medical center.\n\nWe expect that some jurisdictions will profile this optionality to be a single cardinality.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "OrganizationType"
                }
              ],
              "strength": "example",
              "description": "Used to categorize the organization",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/organization-type"
              }
            }
          },
          {
            "id": "Organization.name",
            "path": "Organization.name",
            "comment": "If the name of an organization changes, consider putting the old name in the alias column so that it can still be located through searches.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "org-1"
            ],
            "isSummary": true
          },
          {
            "id": "Organization.alias",
            "path": "Organization.alias",
            "comment": "There are no dates associated with the alias/historic names, as this is not intended to track when names were used, but to assist in searching so that older names can still result in identifying the organization.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Organization.telecom",
            "path": "Organization.telecom",
            "comment": "The use code home is not to be used. Note that these contacts are not the contact details of people who are employed by or represent the organization, but official contacts for the organization itself.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "condition": [
              "org-3"
            ],
            "constraint": [
              {
                "key": "org-3",
                "severity": "error",
                "human": "The telecom of an organization can never be of use 'home'",
                "expression": "where(use = 'home').empty()",
                "xpath": "count(f:use[@value='home']) = 0"
              }
            ]
          },
          {
            "id": "Organization.address",
            "path": "Organization.address",
            "comment": "Organization may have multiple addresses with different uses or applicable periods. The use code home is not to be used.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Address"
              }
            ],
            "condition": [
              "org-2"
            ],
            "constraint": [
              {
                "key": "org-2",
                "severity": "error",
                "human": "An address of an organization can never be of use 'home'",
                "expression": "where(use = 'home').empty()",
                "xpath": "count(f:use[@value='home']) = 0"
              }
            ]
          },
          {
            "id": "Organization.partOf",
            "path": "Organization.partOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Organization.contact",
            "path": "Organization.contact",
            "comment": "Where multiple contacts for the same purpose are provided there is a standard extension that can be used to determine which one is the preferred contact to use.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Organization.contact.purpose",
            "path": "Organization.contact.purpose",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContactPartyType"
                }
              ],
              "strength": "extensible",
              "description": "The purpose for which you would contact a contact party",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/contactentity-type"
              }
            }
          },
          {
            "id": "Organization.contact.name",
            "path": "Organization.contact.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "HumanName"
              }
            ]
          },
          {
            "id": "Organization.contact.telecom",
            "path": "Organization.contact.telecom",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ]
          },
          {
            "id": "Organization.contact.address",
            "path": "Organization.contact.address",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Address"
              }
            ]
          },
          {
            "id": "Organization.endpoint",
            "path": "Organization.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Parameters",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Parameters",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 5
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Parameters",
      "name": "Parameters",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Parameters",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Resource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Parameters",
            "path": "Parameters",
            "comment": "The parameters that may be used are defined by the OperationDefinition resource.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Parameters.id",
            "path": "Parameters.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Parameters.meta",
            "path": "Parameters.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Parameters.implicitRules",
            "path": "Parameters.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Parameters.language",
            "path": "Parameters.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Parameters.parameter",
            "path": "Parameters.parameter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "inv-1",
                "severity": "error",
                "human": "A parameter must have only one of (value, resource, part)",
                "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))",
                "xpath": "exists(f:value) or exists(f:resource) and not(exists(f:value) and exists(f:resource))"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Parameters.parameter.id",
            "path": "Parameters.parameter.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Parameters.parameter.extension",
            "path": "Parameters.parameter.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Parameters.parameter.modifierExtension",
            "path": "Parameters.parameter.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Parameters.parameter.name",
            "path": "Parameters.parameter.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Parameters.parameter.value[x]",
            "path": "Parameters.parameter.value[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              },
              {
                "code": "boolean"
              },
              {
                "code": "code"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "decimal"
              },
              {
                "code": "id"
              },
              {
                "code": "instant"
              },
              {
                "code": "integer"
              },
              {
                "code": "markdown"
              },
              {
                "code": "oid"
              },
              {
                "code": "positiveInt"
              },
              {
                "code": "string"
              },
              {
                "code": "time"
              },
              {
                "code": "unsignedInt"
              },
              {
                "code": "uri"
              },
              {
                "code": "Address"
              },
              {
                "code": "Age"
              },
              {
                "code": "Annotation"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Coding"
              },
              {
                "code": "ContactPoint"
              },
              {
                "code": "Count"
              },
              {
                "code": "Distance"
              },
              {
                "code": "Duration"
              },
              {
                "code": "HumanName"
              },
              {
                "code": "Identifier"
              },
              {
                "code": "Money"
              },
              {
                "code": "Period"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              },
              {
                "code": "Ratio"
              },
              {
                "code": "Reference"
              },
              {
                "code": "SampledData"
              },
              {
                "code": "Signature"
              },
              {
                "code": "Timing"
              },
              {
                "code": "Meta"
              }
            ],
            "condition": [
              "inv-1"
            ],
            "isSummary": true
          },
          {
            "id": "Parameters.parameter.resource",
            "path": "Parameters.parameter.resource",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Resource"
              }
            ],
            "condition": [
              "inv-1"
            ],
            "isSummary": true
          },
          {
            "id": "Parameters.parameter.part",
            "path": "Parameters.parameter.part",
            "comment": "Only one level of nested parameters is allowed.",
            "min": 0,
            "max": "*",
            "contentReference": "#Parameters.parameter",
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Parameters",
            "path": "Parameters",
            "comment": "The parameters that may be used are defined by the OperationDefinition resource.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Parameters.parameter",
            "path": "Parameters.parameter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "inv-1",
                "severity": "error",
                "human": "A parameter must have only one of (value, resource, part)",
                "expression": "(part.exists() and value.empty() and resource.empty()) or (part.empty() and (value.exists() xor resource.exists()))",
                "xpath": "exists(f:value) or exists(f:resource) and not(exists(f:value) and exists(f:resource))"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Parameters.parameter.name",
            "path": "Parameters.parameter.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Parameters.parameter.value[x]",
            "path": "Parameters.parameter.value[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              },
              {
                "code": "boolean"
              },
              {
                "code": "code"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "decimal"
              },
              {
                "code": "id"
              },
              {
                "code": "instant"
              },
              {
                "code": "integer"
              },
              {
                "code": "markdown"
              },
              {
                "code": "oid"
              },
              {
                "code": "positiveInt"
              },
              {
                "code": "string"
              },
              {
                "code": "time"
              },
              {
                "code": "unsignedInt"
              },
              {
                "code": "uri"
              },
              {
                "code": "Address"
              },
              {
                "code": "Age"
              },
              {
                "code": "Annotation"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Coding"
              },
              {
                "code": "ContactPoint"
              },
              {
                "code": "Count"
              },
              {
                "code": "Distance"
              },
              {
                "code": "Duration"
              },
              {
                "code": "HumanName"
              },
              {
                "code": "Identifier"
              },
              {
                "code": "Money"
              },
              {
                "code": "Period"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              },
              {
                "code": "Ratio"
              },
              {
                "code": "Reference"
              },
              {
                "code": "SampledData"
              },
              {
                "code": "Signature"
              },
              {
                "code": "Timing"
              },
              {
                "code": "Meta"
              }
            ],
            "condition": [
              "inv-1"
            ],
            "isSummary": true
          },
          {
            "id": "Parameters.parameter.resource",
            "path": "Parameters.parameter.resource",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Resource"
              }
            ],
            "condition": [
              "inv-1"
            ],
            "isSummary": true
          },
          {
            "id": "Parameters.parameter.part",
            "path": "Parameters.parameter.part",
            "comment": "Only one level of nested parameters is allowed.",
            "min": 0,
            "max": "*",
            "contentReference": "#Parameters.parameter",
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Patient",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Patient",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 5
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Patient",
      "name": "Patient",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "Tracking patient is the center of the healthcare process.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Patient",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Patient",
            "path": "Patient",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Patient.id",
            "path": "Patient.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.meta",
            "path": "Patient.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.implicitRules",
            "path": "Patient.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.language",
            "path": "Patient.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Patient.text",
            "path": "Patient.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Patient.contained",
            "path": "Patient.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Patient.extension",
            "path": "Patient.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Patient.modifierExtension",
            "path": "Patient.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Patient.identifier",
            "path": "Patient.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.active",
            "path": "Patient.active",
            "comment": "Default is true. If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient\n\nThis element is labeled as a modifier because when the patient record is marked as not active it is not expected to be used/referenced without being changed back to active.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.name",
            "path": "Patient.name",
            "comment": "A patient may have multiple names with different uses or applicable periods. For animals, the name is a \"HumanName\" in the sense that is assigned and used by humans and has the same patterns.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "HumanName"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.telecom",
            "path": "Patient.telecom",
            "comment": "A Patient may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently and also to help with identification. The address may not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.gender",
            "path": "Patient.gender",
            "comment": "The gender may not match the biological sex as determined by genetics, or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than M and F, though the vast majority of systems and contexts only support M and F.  Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific gender aspect of interest (anatomical, chromosonal, social, etc.)  However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice.  Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosonal and other gender aspects.  For example, an alert about a hysterectomy on a male should be handled as a warning or overrideable error, not a \"hard\" error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdministrativeGender"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The gender of a person used for administrative purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
              }
            }
          },
          {
            "id": "Patient.birthDate",
            "path": "Patient.birthDate",
            "comment": "At least an estimated year should be provided as a guess if the real DOB is unknown  There is a standard extension \"patient-birthTime\" available that should be used where Time is required (such as in maternaty/infant care systems).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.deceased[x]",
            "path": "Patient.deceased[x]",
            "comment": "If there's no value in the instance it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive.\n\nThis element is labeled as a modifier because once a patient is marked as deceased, the actions that are appropriate to perform on the patient may be significantly different.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "dateTime"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.address",
            "path": "Patient.address",
            "comment": "Patient may have multiple addresses with different uses or applicable periods.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Address"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.maritalStatus",
            "path": "Patient.maritalStatus",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MaritalStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "The domestic partnership status of a person.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/marital-status"
              }
            }
          },
          {
            "id": "Patient.multipleBirth[x]",
            "path": "Patient.multipleBirth[x]",
            "comment": "Where the valueInteger is provided, the number is the birth number in the sequence.\nE.g. The middle birth in tripplets would be valueInteger=2 and the third born would have valueInteger=3\nIf a bool value was provided for this tripplets examle, then all 3 patient records would have valueBool=true (the ordering is not indicated).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "Patient.photo",
            "path": "Patient.photo",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          },
          {
            "id": "Patient.contact",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Contact"
              }
            ],
            "path": "Patient.contact",
            "comment": "Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "pat-1",
                "severity": "error",
                "human": "SHALL at least contain a contact's details or a reference to an organization",
                "expression": "name.exists() or telecom.exists() or address.exists() or organization.exists()",
                "xpath": "exists(f:name) or exists(f:telecom) or exists(f:address) or exists(f:organization)"
              }
            ]
          },
          {
            "id": "Patient.contact.id",
            "path": "Patient.contact.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Patient.contact.extension",
            "path": "Patient.contact.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Patient.contact.modifierExtension",
            "path": "Patient.contact.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.contact.relationship",
            "path": "Patient.contact.relationship",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContactRelationship"
                }
              ],
              "strength": "extensible",
              "description": "The nature of the relationship between a patient and a contact person for that patient.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0131"
              }
            }
          },
          {
            "id": "Patient.contact.name",
            "path": "Patient.contact.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "HumanName"
              }
            ]
          },
          {
            "id": "Patient.contact.telecom",
            "path": "Patient.contact.telecom",
            "comment": "Contact may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently, and also to help with identification.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ]
          },
          {
            "id": "Patient.contact.address",
            "path": "Patient.contact.address",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Address"
              }
            ]
          },
          {
            "id": "Patient.contact.gender",
            "path": "Patient.contact.gender",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdministrativeGender"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The gender of a person used for administrative purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
              }
            }
          },
          {
            "id": "Patient.contact.organization",
            "path": "Patient.contact.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "condition": [
              "pat-1"
            ]
          },
          {
            "id": "Patient.contact.period",
            "path": "Patient.contact.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Patient.animal",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Animal"
              }
            ],
            "path": "Patient.animal",
            "comment": "The animal element is labeled \"Is Modifier\" since patients may be non-human. Systems SHALL either handle patient details appropriately (e.g. inform users patient is not human) or reject declared animal records.   The absense of the animal element does not imply that the patient is a human. If a system requires such a positive assertion that the patient is human, an extension will be required.  (Do not use a species of homo-sapiens in animal species, as this would incorrectly infer that the patient is an animal).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.animal.id",
            "path": "Patient.animal.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Patient.animal.extension",
            "path": "Patient.animal.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Patient.animal.modifierExtension",
            "path": "Patient.animal.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.animal.species",
            "path": "Patient.animal.species",
            "comment": "If the patient is non-human, at least a species SHALL be specified. Species SHALL be a widely recognised taxonomic classification.  It may or may not be Linnaean taxonomy and may or may not be at the level of species. If the level is finer than species--such as a breed code--the code system used SHALL allow inference of the species.  (The common example is that the word \"Hereford\" does not allow inference of the species Bos taurus, because there is a Hereford pig breed, but the SNOMED CT code for \"Hereford Cattle Breed\" does.).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AnimalSpecies"
                }
              ],
              "strength": "example",
              "description": "The species of an animal.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/animal-species"
              }
            }
          },
          {
            "id": "Patient.animal.breed",
            "path": "Patient.animal.breed",
            "comment": "Breed MAY be used to provide further taxonomic or non-taxonomic classification.  It may involve local or proprietary designation--such as commercial strain--and/or additional information such as production type.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AnimalBreed"
                }
              ],
              "strength": "example",
              "description": "The breed of an animal.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/animal-breeds"
              }
            }
          },
          {
            "id": "Patient.animal.genderStatus",
            "path": "Patient.animal.genderStatus",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AnimalGenderStatus"
                }
              ],
              "strength": "example",
              "description": "The state of the animal's reproductive organs.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/animal-genderstatus"
              }
            }
          },
          {
            "id": "Patient.communication",
            "path": "Patient.communication",
            "comment": "If no language is specified, this *implies* that the default local language is spoken.  If you need to convey proficiency for multiple modes then you need multiple Patient.Communication associations.   For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Patient.communication.id",
            "path": "Patient.communication.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Patient.communication.extension",
            "path": "Patient.communication.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Patient.communication.modifierExtension",
            "path": "Patient.communication.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.communication.language",
            "path": "Patient.communication.language",
            "comment": "The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Patient.communication.preferred",
            "path": "Patient.communication.preferred",
            "comment": "This language is specifically identified for communicating healthcare information.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Patient.generalPractitioner",
            "path": "Patient.generalPractitioner",
            "comment": "This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disablity setting, or even organization that will provide people to perform the care provider roles.\n\nIt is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "Patient.managingOrganization",
            "path": "Patient.managingOrganization",
            "comment": "There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.link",
            "path": "Patient.link",
            "comment": "There is no assumption that linked patient records have mutual links. \n\nThis element is labelled as a modifier because it may not be the main Patient resource, and the referenced patient should be used instead of this Patient record. This is when the link.type value is 'replaced-by'.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.link.id",
            "path": "Patient.link.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Patient.link.extension",
            "path": "Patient.link.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Patient.link.modifierExtension",
            "path": "Patient.link.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.link.other",
            "path": "Patient.link.other",
            "comment": "Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.link.type",
            "path": "Patient.link.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "LinkType"
                }
              ],
              "strength": "required",
              "description": "The type of link between this patient resource and another patient resource.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/link-type"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Patient",
            "path": "Patient",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Patient.identifier",
            "path": "Patient.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.active",
            "path": "Patient.active",
            "comment": "Default is true. If a record is inactive, and linked to an active record, then future patient/record updates should occur on the other patient\n\nThis element is labeled as a modifier because when the patient record is marked as not active it is not expected to be used/referenced without being changed back to active.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.name",
            "path": "Patient.name",
            "comment": "A patient may have multiple names with different uses or applicable periods. For animals, the name is a \"HumanName\" in the sense that is assigned and used by humans and has the same patterns.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "HumanName"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.telecom",
            "path": "Patient.telecom",
            "comment": "A Patient may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently and also to help with identification. The address may not go directly to the individual, but may reach another party that is able to proxy for the patient (i.e. home phone, or pet owner's phone).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.gender",
            "path": "Patient.gender",
            "comment": "The gender may not match the biological sex as determined by genetics, or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than M and F, though the vast majority of systems and contexts only support M and F.  Systems providing decision support or enforcing business rules should ideally do this on the basis of Observations dealing with the specific gender aspect of interest (anatomical, chromosonal, social, etc.)  However, because these observations are infrequently recorded, defaulting to the administrative gender is common practice.  Where such defaulting occurs, rule enforcement should allow for the variation between administrative and biological, chromosonal and other gender aspects.  For example, an alert about a hysterectomy on a male should be handled as a warning or overrideable error, not a \"hard\" error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdministrativeGender"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The gender of a person used for administrative purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
              }
            }
          },
          {
            "id": "Patient.birthDate",
            "path": "Patient.birthDate",
            "comment": "At least an estimated year should be provided as a guess if the real DOB is unknown  There is a standard extension \"patient-birthTime\" available that should be used where Time is required (such as in maternaty/infant care systems).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.deceased[x]",
            "path": "Patient.deceased[x]",
            "comment": "If there's no value in the instance it means there is no statement on whether or not the individual is deceased. Most systems will interpret the absence of a value as a sign of the person being alive.\n\nThis element is labeled as a modifier because once a patient is marked as deceased, the actions that are appropriate to perform on the patient may be significantly different.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "dateTime"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.address",
            "path": "Patient.address",
            "comment": "Patient may have multiple addresses with different uses or applicable periods.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Address"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.maritalStatus",
            "path": "Patient.maritalStatus",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "MaritalStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "The domestic partnership status of a person.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/marital-status"
              }
            }
          },
          {
            "id": "Patient.multipleBirth[x]",
            "path": "Patient.multipleBirth[x]",
            "comment": "Where the valueInteger is provided, the number is the birth number in the sequence.\nE.g. The middle birth in tripplets would be valueInteger=2 and the third born would have valueInteger=3\nIf a bool value was provided for this tripplets examle, then all 3 patient records would have valueBool=true (the ordering is not indicated).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "Patient.photo",
            "path": "Patient.photo",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          },
          {
            "id": "Patient.contact",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Contact"
              }
            ],
            "path": "Patient.contact",
            "comment": "Contact covers all kinds of contact parties: family members, business contacts, guardians, caregivers. Not applicable to register pedigree and family ties beyond use of having contact.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "pat-1",
                "severity": "error",
                "human": "SHALL at least contain a contact's details or a reference to an organization",
                "expression": "name.exists() or telecom.exists() or address.exists() or organization.exists()",
                "xpath": "exists(f:name) or exists(f:telecom) or exists(f:address) or exists(f:organization)"
              }
            ]
          },
          {
            "id": "Patient.contact.relationship",
            "path": "Patient.contact.relationship",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContactRelationship"
                }
              ],
              "strength": "extensible",
              "description": "The nature of the relationship between a patient and a contact person for that patient.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0131"
              }
            }
          },
          {
            "id": "Patient.contact.name",
            "path": "Patient.contact.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "HumanName"
              }
            ]
          },
          {
            "id": "Patient.contact.telecom",
            "path": "Patient.contact.telecom",
            "comment": "Contact may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently, and also to help with identification.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ]
          },
          {
            "id": "Patient.contact.address",
            "path": "Patient.contact.address",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Address"
              }
            ]
          },
          {
            "id": "Patient.contact.gender",
            "path": "Patient.contact.gender",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdministrativeGender"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The gender of a person used for administrative purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
              }
            }
          },
          {
            "id": "Patient.contact.organization",
            "path": "Patient.contact.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "condition": [
              "pat-1"
            ]
          },
          {
            "id": "Patient.contact.period",
            "path": "Patient.contact.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Patient.animal",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Animal"
              }
            ],
            "path": "Patient.animal",
            "comment": "The animal element is labeled \"Is Modifier\" since patients may be non-human. Systems SHALL either handle patient details appropriately (e.g. inform users patient is not human) or reject declared animal records.   The absense of the animal element does not imply that the patient is a human. If a system requires such a positive assertion that the patient is human, an extension will be required.  (Do not use a species of homo-sapiens in animal species, as this would incorrectly infer that the patient is an animal).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.animal.species",
            "path": "Patient.animal.species",
            "comment": "If the patient is non-human, at least a species SHALL be specified. Species SHALL be a widely recognised taxonomic classification.  It may or may not be Linnaean taxonomy and may or may not be at the level of species. If the level is finer than species--such as a breed code--the code system used SHALL allow inference of the species.  (The common example is that the word \"Hereford\" does not allow inference of the species Bos taurus, because there is a Hereford pig breed, but the SNOMED CT code for \"Hereford Cattle Breed\" does.).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AnimalSpecies"
                }
              ],
              "strength": "example",
              "description": "The species of an animal.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/animal-species"
              }
            }
          },
          {
            "id": "Patient.animal.breed",
            "path": "Patient.animal.breed",
            "comment": "Breed MAY be used to provide further taxonomic or non-taxonomic classification.  It may involve local or proprietary designation--such as commercial strain--and/or additional information such as production type.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AnimalBreed"
                }
              ],
              "strength": "example",
              "description": "The breed of an animal.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/animal-breeds"
              }
            }
          },
          {
            "id": "Patient.animal.genderStatus",
            "path": "Patient.animal.genderStatus",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AnimalGenderStatus"
                }
              ],
              "strength": "example",
              "description": "The state of the animal's reproductive organs.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/animal-genderstatus"
              }
            }
          },
          {
            "id": "Patient.communication",
            "path": "Patient.communication",
            "comment": "If no language is specified, this *implies* that the default local language is spoken.  If you need to convey proficiency for multiple modes then you need multiple Patient.Communication associations.   For animals, language is not a relevant field, and should be absent from the instance. If the Patient does not speak the default local language, then the Interpreter Required Standard can be used to explicitly declare that an interpreter is required.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Patient.communication.language",
            "path": "Patient.communication.language",
            "comment": "The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Patient.communication.preferred",
            "path": "Patient.communication.preferred",
            "comment": "This language is specifically identified for communicating healthcare information.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "Patient.generalPractitioner",
            "path": "Patient.generalPractitioner",
            "comment": "This may be the primary care provider (in a GP context), or it may be a patient nominated care manager in a community/disablity setting, or even organization that will provide people to perform the care provider roles.\n\nIt is not to be used to record Care Teams, these should be in a CareTeam resource that may be linked to the CarePlan or EpisodeOfCare resources.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "Patient.managingOrganization",
            "path": "Patient.managingOrganization",
            "comment": "There is only one managing organization for a specific patient record. Other organizations will have their own Patient record, and may use the Link property to join the records together (or a Person resource which can include confidence ratings for the association).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.link",
            "path": "Patient.link",
            "comment": "There is no assumption that linked patient records have mutual links. \n\nThis element is labelled as a modifier because it may not be the main Patient resource, and the referenced patient should be used instead of this Patient record. This is when the link.type value is 'replaced-by'.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Patient.link.other",
            "path": "Patient.link.other",
            "comment": "Referencing a RelatedPerson here removes the need to use a Person record to associate a Patient and RelatedPerson as the same individual.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Patient.link.type",
            "path": "Patient.link.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "LinkType"
                }
              ],
              "strength": "required",
              "description": "The type of link between this patient resource and another patient resource.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/link-type"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/PaymentNotice",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "PaymentNotice",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/PaymentNotice",
      "name": "PaymentNotice",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "PaymentNotice",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "PaymentNotice",
            "path": "PaymentNotice",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "PaymentNotice.id",
            "path": "PaymentNotice.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PaymentNotice.meta",
            "path": "PaymentNotice.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PaymentNotice.implicitRules",
            "path": "PaymentNotice.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PaymentNotice.language",
            "path": "PaymentNotice.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "PaymentNotice.text",
            "path": "PaymentNotice.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "PaymentNotice.contained",
            "path": "PaymentNotice.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "PaymentNotice.extension",
            "path": "PaymentNotice.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PaymentNotice.modifierExtension",
            "path": "PaymentNotice.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "PaymentNotice.identifier",
            "path": "PaymentNotice.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "PaymentNotice.status",
            "path": "PaymentNotice.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentNoticeStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "PaymentNotice.request",
            "path": "PaymentNotice.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "PaymentNotice.response",
            "path": "PaymentNotice.response",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "PaymentNotice.statusDate",
            "path": "PaymentNotice.statusDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "PaymentNotice.created",
            "path": "PaymentNotice.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "PaymentNotice.target",
            "path": "PaymentNotice.target",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "PaymentNotice.provider",
            "path": "PaymentNotice.provider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "PaymentNotice.organization",
            "path": "PaymentNotice.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "PaymentNotice.paymentStatus",
            "path": "PaymentNotice.paymentStatus",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentStatus"
                }
              ],
              "strength": "example",
              "description": "The payment conveyance status codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payment-status"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "PaymentNotice",
            "path": "PaymentNotice",
            "min": 0,
            "max": "*"
          },
          {
            "id": "PaymentNotice.identifier",
            "path": "PaymentNotice.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "PaymentNotice.status",
            "path": "PaymentNotice.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentNoticeStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "PaymentNotice.request",
            "path": "PaymentNotice.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "PaymentNotice.response",
            "path": "PaymentNotice.response",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "PaymentNotice.statusDate",
            "path": "PaymentNotice.statusDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "PaymentNotice.created",
            "path": "PaymentNotice.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "PaymentNotice.target",
            "path": "PaymentNotice.target",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "PaymentNotice.provider",
            "path": "PaymentNotice.provider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "PaymentNotice.organization",
            "path": "PaymentNotice.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "PaymentNotice.paymentStatus",
            "path": "PaymentNotice.paymentStatus",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentStatus"
                }
              ],
              "strength": "example",
              "description": "The payment conveyance status codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payment-status"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/PaymentReconciliation",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "PaymentReconciliation",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/PaymentReconciliation",
      "name": "PaymentReconciliation",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "PaymentReconciliation",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "PaymentReconciliation",
            "path": "PaymentReconciliation",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.id",
            "path": "PaymentReconciliation.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PaymentReconciliation.meta",
            "path": "PaymentReconciliation.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PaymentReconciliation.implicitRules",
            "path": "PaymentReconciliation.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PaymentReconciliation.language",
            "path": "PaymentReconciliation.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "PaymentReconciliation.text",
            "path": "PaymentReconciliation.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "PaymentReconciliation.contained",
            "path": "PaymentReconciliation.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.extension",
            "path": "PaymentReconciliation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.modifierExtension",
            "path": "PaymentReconciliation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "PaymentReconciliation.identifier",
            "path": "PaymentReconciliation.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.status",
            "path": "PaymentReconciliation.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentReconciliationStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "PaymentReconciliation.period",
            "path": "PaymentReconciliation.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.created",
            "path": "PaymentReconciliation.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.organization",
            "path": "PaymentReconciliation.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.request",
            "path": "PaymentReconciliation.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcessRequest"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.outcome",
            "path": "PaymentReconciliation.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RemittanceOutcome"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The outcome of the processing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/remittance-outcome"
              }
            }
          },
          {
            "id": "PaymentReconciliation.disposition",
            "path": "PaymentReconciliation.disposition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.requestProvider",
            "path": "PaymentReconciliation.requestProvider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.requestOrganization",
            "path": "PaymentReconciliation.requestOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Details"
              }
            ],
            "path": "PaymentReconciliation.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.id",
            "path": "PaymentReconciliation.detail.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.extension",
            "path": "PaymentReconciliation.detail.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.modifierExtension",
            "path": "PaymentReconciliation.detail.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PaymentReconciliation.detail.type",
            "path": "PaymentReconciliation.detail.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentType"
                }
              ],
              "strength": "example",
              "description": "The reason for the amount: payment, adjustment, advance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payment-type"
              }
            }
          },
          {
            "id": "PaymentReconciliation.detail.request",
            "path": "PaymentReconciliation.detail.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.response",
            "path": "PaymentReconciliation.detail.response",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.submitter",
            "path": "PaymentReconciliation.detail.submitter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.payee",
            "path": "PaymentReconciliation.detail.payee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.date",
            "path": "PaymentReconciliation.detail.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.amount",
            "path": "PaymentReconciliation.detail.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.form",
            "path": "PaymentReconciliation.form",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Forms"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The forms codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/forms"
              }
            }
          },
          {
            "id": "PaymentReconciliation.total",
            "path": "PaymentReconciliation.total",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.processNote",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Notes"
              }
            ],
            "path": "PaymentReconciliation.processNote",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.processNote.id",
            "path": "PaymentReconciliation.processNote.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.processNote.extension",
            "path": "PaymentReconciliation.processNote.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.processNote.modifierExtension",
            "path": "PaymentReconciliation.processNote.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PaymentReconciliation.processNote.type",
            "path": "PaymentReconciliation.processNote.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NoteType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The presentation types of notes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/note-type"
              }
            }
          },
          {
            "id": "PaymentReconciliation.processNote.text",
            "path": "PaymentReconciliation.processNote.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "PaymentReconciliation",
            "path": "PaymentReconciliation",
            "min": 0,
            "max": "*"
          },
          {
            "id": "PaymentReconciliation.identifier",
            "path": "PaymentReconciliation.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.status",
            "path": "PaymentReconciliation.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentReconciliationStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "PaymentReconciliation.period",
            "path": "PaymentReconciliation.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.created",
            "path": "PaymentReconciliation.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.organization",
            "path": "PaymentReconciliation.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.request",
            "path": "PaymentReconciliation.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcessRequest"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.outcome",
            "path": "PaymentReconciliation.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RemittanceOutcome"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The outcome of the processing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/remittance-outcome"
              }
            }
          },
          {
            "id": "PaymentReconciliation.disposition",
            "path": "PaymentReconciliation.disposition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.requestProvider",
            "path": "PaymentReconciliation.requestProvider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.requestOrganization",
            "path": "PaymentReconciliation.requestOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Details"
              }
            ],
            "path": "PaymentReconciliation.detail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.type",
            "path": "PaymentReconciliation.detail.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PaymentType"
                }
              ],
              "strength": "example",
              "description": "The reason for the amount: payment, adjustment, advance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/payment-type"
              }
            }
          },
          {
            "id": "PaymentReconciliation.detail.request",
            "path": "PaymentReconciliation.detail.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.response",
            "path": "PaymentReconciliation.detail.response",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.submitter",
            "path": "PaymentReconciliation.detail.submitter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.payee",
            "path": "PaymentReconciliation.detail.payee",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.date",
            "path": "PaymentReconciliation.detail.date",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.detail.amount",
            "path": "PaymentReconciliation.detail.amount",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.form",
            "path": "PaymentReconciliation.form",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Forms"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The forms codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/forms"
              }
            }
          },
          {
            "id": "PaymentReconciliation.total",
            "path": "PaymentReconciliation.total",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Money"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.processNote",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Notes"
              }
            ],
            "path": "PaymentReconciliation.processNote",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "PaymentReconciliation.processNote.type",
            "path": "PaymentReconciliation.processNote.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NoteType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The presentation types of notes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/note-type"
              }
            }
          },
          {
            "id": "PaymentReconciliation.processNote.text",
            "path": "PaymentReconciliation.processNote.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Person",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Person",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Person",
      "name": "Person",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "Need to track persons potentially across multiple roles.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Person",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Person",
            "path": "Person",
            "comment": "The Person resource does justice to person registries that keep track of persons regardless of their role. The Person resource is also a primary resource to point to for people acting in a particular role such as SubjectofCare, Practitioner, and Agent. Very few attributes are specific to any role and so Person is kept lean. Most attributes are expected to be tied to the role the Person plays rather than the Person himself. Examples of that are Guardian (SubjectofCare), ContactParty (SubjectOfCare, Practitioner), and multipleBirthInd (SubjectofCare).",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Person.id",
            "path": "Person.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Person.meta",
            "path": "Person.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Person.implicitRules",
            "path": "Person.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Person.language",
            "path": "Person.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Person.text",
            "path": "Person.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Person.contained",
            "path": "Person.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Person.extension",
            "path": "Person.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Person.modifierExtension",
            "path": "Person.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Person.identifier",
            "path": "Person.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Person.name",
            "path": "Person.name",
            "comment": "Person may have multiple names with different uses or applicable periods.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "HumanName"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Person.telecom",
            "path": "Person.telecom",
            "comment": "Person may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently, and also to help with identification.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Person.gender",
            "path": "Person.gender",
            "comment": "The gender may not match the biological sex as determined by genetics, or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than M and F, though the vast majority of systems and contexts only support M and F.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdministrativeGender"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The gender of a person used for administrative purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
              }
            }
          },
          {
            "id": "Person.birthDate",
            "path": "Person.birthDate",
            "comment": "At least an estimated year should be provided as a guess if the real DOB is unknown.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Person.address",
            "path": "Person.address",
            "comment": "Person may have multiple addresses with different uses or applicable periods.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Address"
              }
            ]
          },
          {
            "id": "Person.photo",
            "path": "Person.photo",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          },
          {
            "id": "Person.managingOrganization",
            "path": "Person.managingOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Person.active",
            "path": "Person.active",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Person.link",
            "path": "Person.link",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Person.link.id",
            "path": "Person.link.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Person.link.extension",
            "path": "Person.link.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Person.link.modifierExtension",
            "path": "Person.link.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Person.link.target",
            "path": "Person.link.target",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Person"
              }
            ]
          },
          {
            "id": "Person.link.assurance",
            "path": "Person.link.assurance",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "IdentityAssuranceLevel"
                }
              ],
              "strength": "required",
              "description": "The level of confidence that this link represents the same actual person, based on NIST Authentication Levels.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/identity-assuranceLevel"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Person",
            "path": "Person",
            "comment": "The Person resource does justice to person registries that keep track of persons regardless of their role. The Person resource is also a primary resource to point to for people acting in a particular role such as SubjectofCare, Practitioner, and Agent. Very few attributes are specific to any role and so Person is kept lean. Most attributes are expected to be tied to the role the Person plays rather than the Person himself. Examples of that are Guardian (SubjectofCare), ContactParty (SubjectOfCare, Practitioner), and multipleBirthInd (SubjectofCare).",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Person.identifier",
            "path": "Person.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Person.name",
            "path": "Person.name",
            "comment": "Person may have multiple names with different uses or applicable periods.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "HumanName"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Person.telecom",
            "path": "Person.telecom",
            "comment": "Person may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently, and also to help with identification.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Person.gender",
            "path": "Person.gender",
            "comment": "The gender may not match the biological sex as determined by genetics, or the individual's preferred identification. Note that for both humans and particularly animals, there are other legitimate possibilities than M and F, though the vast majority of systems and contexts only support M and F.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdministrativeGender"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The gender of a person used for administrative purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
              }
            }
          },
          {
            "id": "Person.birthDate",
            "path": "Person.birthDate",
            "comment": "At least an estimated year should be provided as a guess if the real DOB is unknown.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Person.address",
            "path": "Person.address",
            "comment": "Person may have multiple addresses with different uses or applicable periods.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Address"
              }
            ]
          },
          {
            "id": "Person.photo",
            "path": "Person.photo",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          },
          {
            "id": "Person.managingOrganization",
            "path": "Person.managingOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Person.active",
            "path": "Person.active",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Person.link",
            "path": "Person.link",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Person.link.target",
            "path": "Person.link.target",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Person"
              }
            ]
          },
          {
            "id": "Person.link.assurance",
            "path": "Person.link.assurance",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "IdentityAssuranceLevel"
                }
              ],
              "strength": "required",
              "description": "The level of confidence that this link represents the same actual person, based on NIST Authentication Levels.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/identity-assuranceLevel"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/PlanDefinition",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "PlanDefinition",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "cds"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/PlanDefinition",
      "name": "PlanDefinition",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "PlanDefinition",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "PlanDefinition",
            "path": "PlanDefinition",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "PlanDefinition.id",
            "path": "PlanDefinition.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.meta",
            "path": "PlanDefinition.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.implicitRules",
            "path": "PlanDefinition.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PlanDefinition.language",
            "path": "PlanDefinition.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "PlanDefinition.text",
            "path": "PlanDefinition.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "PlanDefinition.contained",
            "path": "PlanDefinition.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "PlanDefinition.extension",
            "path": "PlanDefinition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PlanDefinition.modifierExtension",
            "path": "PlanDefinition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "PlanDefinition.url",
            "path": "PlanDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.identifier",
            "path": "PlanDefinition.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this plan definition outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.version",
            "path": "PlanDefinition.version",
            "comment": "There may be different plan definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the plan definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.name",
            "path": "PlanDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.title",
            "path": "PlanDefinition.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.type",
            "path": "PlanDefinition.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PlanDefinitionType"
                }
              ],
              "strength": "extensible",
              "description": "The type of PlanDefinition",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/plan-definition-type"
              }
            }
          },
          {
            "id": "PlanDefinition.status",
            "path": "PlanDefinition.status",
            "comment": "Allows filtering of plan definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired plan definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "PlanDefinition.experimental",
            "path": "PlanDefinition.experimental",
            "comment": "Allows filtering of plan definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental plan definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PlanDefinition.date",
            "path": "PlanDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the plan definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.publisher",
            "path": "PlanDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the plan definition is the organization or individual primarily responsible for the maintenance and upkeep of the plan definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the plan definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.description",
            "path": "PlanDefinition.description",
            "comment": "This description can be used to capture details such as why the plan definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the plan definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.purpose",
            "path": "PlanDefinition.purpose",
            "comment": "This element does not describe the usage of the plan definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this plan definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "PlanDefinition.usage",
            "path": "PlanDefinition.usage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.approvalDate",
            "path": "PlanDefinition.approvalDate",
            "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "PlanDefinition.lastReviewDate",
            "path": "PlanDefinition.lastReviewDate",
            "comment": "If specified, this is usually after the approval date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "PlanDefinition.effectivePeriod",
            "path": "PlanDefinition.effectivePeriod",
            "comment": "The effective period for a plan definition  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.useContext",
            "path": "PlanDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.jurisdiction",
            "path": "PlanDefinition.jurisdiction",
            "comment": "It may be possible for the plan definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "PlanDefinition.topic",
            "path": "PlanDefinition.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DefinitionTopic"
                }
              ],
              "strength": "example",
              "description": "High-level categorization of the definition, used for searching, sorting, and filtering",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/definition-topic"
              }
            }
          },
          {
            "id": "PlanDefinition.contributor",
            "path": "PlanDefinition.contributor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Contributor"
              }
            ]
          },
          {
            "id": "PlanDefinition.contact",
            "path": "PlanDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.copyright",
            "path": "PlanDefinition.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "PlanDefinition.relatedArtifact",
            "path": "PlanDefinition.relatedArtifact",
            "comment": "Each related artifact is either an attachment, or a reference to another resource, but not both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "PlanDefinition.library",
            "path": "PlanDefinition.library",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Library"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal",
            "path": "PlanDefinition.goal",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal.id",
            "path": "PlanDefinition.goal.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal.extension",
            "path": "PlanDefinition.goal.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal.modifierExtension",
            "path": "PlanDefinition.goal.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PlanDefinition.goal.category",
            "path": "PlanDefinition.goal.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalCategory"
                }
              ],
              "strength": "example",
              "description": "Example codes for grouping goals for filtering or presentation",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-category"
              }
            }
          },
          {
            "id": "PlanDefinition.goal.description",
            "path": "PlanDefinition.goal.description",
            "comment": "If no code is available, use CodeableConcept.text.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalDescription"
                }
              ],
              "strength": "example",
              "description": "Describes goals that can be achieved",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "PlanDefinition.goal.priority",
            "path": "PlanDefinition.goal.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalPriority"
                }
              ],
              "strength": "preferred",
              "description": "Indicates the level of importance associated with reaching or sustaining a goal",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-priority"
              }
            }
          },
          {
            "id": "PlanDefinition.goal.start",
            "path": "PlanDefinition.goal.start",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalStartEvent"
                }
              ],
              "strength": "example",
              "description": "Identifies the types of events that might trigger the start of a goal",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-start-event"
              }
            }
          },
          {
            "id": "PlanDefinition.goal.addresses",
            "path": "PlanDefinition.goal.addresses",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalAddresses"
                }
              ],
              "strength": "example",
              "description": "Identifies problems, conditions, issues, or concerns that goals may address",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "PlanDefinition.goal.documentation",
            "path": "PlanDefinition.goal.documentation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal.target",
            "path": "PlanDefinition.goal.target",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal.target.id",
            "path": "PlanDefinition.goal.target.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal.target.extension",
            "path": "PlanDefinition.goal.target.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal.target.modifierExtension",
            "path": "PlanDefinition.goal.target.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PlanDefinition.goal.target.measure",
            "path": "PlanDefinition.goal.target.measure",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalTargetMeasure"
                }
              ],
              "strength": "example",
              "description": "Identifies types of parameters that can be tracked to determine goal achievement",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
              }
            }
          },
          {
            "id": "PlanDefinition.goal.target.detail[x]",
            "path": "PlanDefinition.goal.target.detail[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              },
              {
                "code": "CodeableConcept"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal.target.due",
            "path": "PlanDefinition.goal.target.due",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Duration"
              }
            ]
          },
          {
            "id": "PlanDefinition.action",
            "path": "PlanDefinition.action",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.id",
            "path": "PlanDefinition.action.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.extension",
            "path": "PlanDefinition.action.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.modifierExtension",
            "path": "PlanDefinition.action.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PlanDefinition.action.label",
            "path": "PlanDefinition.action.label",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.title",
            "path": "PlanDefinition.action.title",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.description",
            "path": "PlanDefinition.action.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.textEquivalent",
            "path": "PlanDefinition.action.textEquivalent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.code",
            "path": "PlanDefinition.action.code",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.reason",
            "path": "PlanDefinition.action.reason",
            "comment": "This is different than the clinical evidence documentation, it's an actual business description of the reason for performing the action.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.documentation",
            "path": "PlanDefinition.action.documentation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.goalId",
            "path": "PlanDefinition.action.goalId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.triggerDefinition",
            "path": "PlanDefinition.action.triggerDefinition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "TriggerDefinition"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.condition",
            "path": "PlanDefinition.action.condition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.condition.id",
            "path": "PlanDefinition.action.condition.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.condition.extension",
            "path": "PlanDefinition.action.condition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.condition.modifierExtension",
            "path": "PlanDefinition.action.condition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PlanDefinition.action.condition.kind",
            "path": "PlanDefinition.action.condition.kind",
            "comment": "Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe when enter/exit criteria for an action.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionConditionKind"
                }
              ],
              "strength": "required",
              "description": "Defines the kinds of conditions that can appear on actions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-condition-kind"
              }
            }
          },
          {
            "id": "PlanDefinition.action.condition.description",
            "path": "PlanDefinition.action.condition.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.condition.language",
            "path": "PlanDefinition.action.condition.language",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.condition.expression",
            "path": "PlanDefinition.action.condition.expression",
            "comment": "The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.input",
            "path": "PlanDefinition.action.input",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "DataRequirement"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.output",
            "path": "PlanDefinition.action.output",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "DataRequirement"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.relatedAction",
            "path": "PlanDefinition.action.relatedAction",
            "comment": "When an action depends on multiple actions, the meaning is that all actions are dependencies, rather than that any of the actions are a dependency.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.relatedAction.id",
            "path": "PlanDefinition.action.relatedAction.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.relatedAction.extension",
            "path": "PlanDefinition.action.relatedAction.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.relatedAction.modifierExtension",
            "path": "PlanDefinition.action.relatedAction.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PlanDefinition.action.relatedAction.actionId",
            "path": "PlanDefinition.action.relatedAction.actionId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.relatedAction.relationship",
            "path": "PlanDefinition.action.relatedAction.relationship",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionRelationshipType"
                }
              ],
              "strength": "required",
              "description": "Defines the types of relationships between actions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-relationship-type"
              }
            }
          },
          {
            "id": "PlanDefinition.action.relatedAction.offset[x]",
            "path": "PlanDefinition.action.relatedAction.offset[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Duration"
              },
              {
                "code": "Range"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.timing[x]",
            "path": "PlanDefinition.action.timing[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Duration"
              },
              {
                "code": "Range"
              },
              {
                "code": "Timing"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.participant",
            "path": "PlanDefinition.action.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.participant.id",
            "path": "PlanDefinition.action.participant.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.participant.extension",
            "path": "PlanDefinition.action.participant.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.participant.modifierExtension",
            "path": "PlanDefinition.action.participant.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PlanDefinition.action.participant.type",
            "path": "PlanDefinition.action.participant.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionParticipantType"
                }
              ],
              "strength": "required",
              "description": "The type of participant for the action",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-participant-type"
              }
            }
          },
          {
            "id": "PlanDefinition.action.participant.role",
            "path": "PlanDefinition.action.participant.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionParticipantRole"
                }
              ],
              "strength": "example",
              "description": "Defines roles played by participants for the action",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-participant-role"
              }
            }
          },
          {
            "id": "PlanDefinition.action.type",
            "path": "PlanDefinition.action.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionType"
                }
              ],
              "strength": "required",
              "description": "The type of action to be performed",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-type"
              }
            }
          },
          {
            "id": "PlanDefinition.action.groupingBehavior",
            "path": "PlanDefinition.action.groupingBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionGroupingBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines organization behavior of a group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-grouping-behavior"
              }
            }
          },
          {
            "id": "PlanDefinition.action.selectionBehavior",
            "path": "PlanDefinition.action.selectionBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionSelectionBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines selection behavior of a group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-selection-behavior"
              }
            }
          },
          {
            "id": "PlanDefinition.action.requiredBehavior",
            "path": "PlanDefinition.action.requiredBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionRequiredBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines requiredness behavior for selecting an action or an action group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-required-behavior"
              }
            }
          },
          {
            "id": "PlanDefinition.action.precheckBehavior",
            "path": "PlanDefinition.action.precheckBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionPrecheckBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines selection frequency behavior for an action or group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-precheck-behavior"
              }
            }
          },
          {
            "id": "PlanDefinition.action.cardinalityBehavior",
            "path": "PlanDefinition.action.cardinalityBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionCardinalityBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines behavior for an action or a group for how many times that item may be repeated",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-cardinality-behavior"
              }
            }
          },
          {
            "id": "PlanDefinition.action.definition",
            "path": "PlanDefinition.action.definition",
            "comment": "Note that the definition is optional, and if no definition is specified, a dynamicValue with a root (~) path can be used to define the entire resource dynamically.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.transform",
            "path": "PlanDefinition.action.transform",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureMap"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.dynamicValue",
            "path": "PlanDefinition.action.dynamicValue",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.dynamicValue.id",
            "path": "PlanDefinition.action.dynamicValue.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.dynamicValue.extension",
            "path": "PlanDefinition.action.dynamicValue.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.dynamicValue.modifierExtension",
            "path": "PlanDefinition.action.dynamicValue.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PlanDefinition.action.dynamicValue.description",
            "path": "PlanDefinition.action.dynamicValue.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.dynamicValue.path",
            "path": "PlanDefinition.action.dynamicValue.path",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.dynamicValue.language",
            "path": "PlanDefinition.action.dynamicValue.language",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.dynamicValue.expression",
            "path": "PlanDefinition.action.dynamicValue.expression",
            "comment": "The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.action",
            "path": "PlanDefinition.action.action",
            "min": 0,
            "max": "*",
            "contentReference": "#PlanDefinition.action"
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "PlanDefinition",
            "path": "PlanDefinition",
            "min": 0,
            "max": "*"
          },
          {
            "id": "PlanDefinition.url",
            "path": "PlanDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.identifier",
            "path": "PlanDefinition.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this plan definition outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.version",
            "path": "PlanDefinition.version",
            "comment": "There may be different plan definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the plan definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.name",
            "path": "PlanDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.title",
            "path": "PlanDefinition.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.type",
            "path": "PlanDefinition.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PlanDefinitionType"
                }
              ],
              "strength": "extensible",
              "description": "The type of PlanDefinition",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/plan-definition-type"
              }
            }
          },
          {
            "id": "PlanDefinition.status",
            "path": "PlanDefinition.status",
            "comment": "Allows filtering of plan definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired plan definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "PlanDefinition.experimental",
            "path": "PlanDefinition.experimental",
            "comment": "Allows filtering of plan definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental plan definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PlanDefinition.date",
            "path": "PlanDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the plan definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.publisher",
            "path": "PlanDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the plan definition is the organization or individual primarily responsible for the maintenance and upkeep of the plan definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the plan definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.description",
            "path": "PlanDefinition.description",
            "comment": "This description can be used to capture details such as why the plan definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the plan definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.purpose",
            "path": "PlanDefinition.purpose",
            "comment": "This element does not describe the usage of the plan definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this plan definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "PlanDefinition.usage",
            "path": "PlanDefinition.usage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.approvalDate",
            "path": "PlanDefinition.approvalDate",
            "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "PlanDefinition.lastReviewDate",
            "path": "PlanDefinition.lastReviewDate",
            "comment": "If specified, this is usually after the approval date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "PlanDefinition.effectivePeriod",
            "path": "PlanDefinition.effectivePeriod",
            "comment": "The effective period for a plan definition  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.useContext",
            "path": "PlanDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.jurisdiction",
            "path": "PlanDefinition.jurisdiction",
            "comment": "It may be possible for the plan definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "PlanDefinition.topic",
            "path": "PlanDefinition.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DefinitionTopic"
                }
              ],
              "strength": "example",
              "description": "High-level categorization of the definition, used for searching, sorting, and filtering",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/definition-topic"
              }
            }
          },
          {
            "id": "PlanDefinition.contributor",
            "path": "PlanDefinition.contributor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Contributor"
              }
            ]
          },
          {
            "id": "PlanDefinition.contact",
            "path": "PlanDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PlanDefinition.copyright",
            "path": "PlanDefinition.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "PlanDefinition.relatedArtifact",
            "path": "PlanDefinition.relatedArtifact",
            "comment": "Each related artifact is either an attachment, or a reference to another resource, but not both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "PlanDefinition.library",
            "path": "PlanDefinition.library",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Library"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal",
            "path": "PlanDefinition.goal",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal.category",
            "path": "PlanDefinition.goal.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalCategory"
                }
              ],
              "strength": "example",
              "description": "Example codes for grouping goals for filtering or presentation",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-category"
              }
            }
          },
          {
            "id": "PlanDefinition.goal.description",
            "path": "PlanDefinition.goal.description",
            "comment": "If no code is available, use CodeableConcept.text.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalDescription"
                }
              ],
              "strength": "example",
              "description": "Describes goals that can be achieved",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "PlanDefinition.goal.priority",
            "path": "PlanDefinition.goal.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalPriority"
                }
              ],
              "strength": "preferred",
              "description": "Indicates the level of importance associated with reaching or sustaining a goal",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-priority"
              }
            }
          },
          {
            "id": "PlanDefinition.goal.start",
            "path": "PlanDefinition.goal.start",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalStartEvent"
                }
              ],
              "strength": "example",
              "description": "Identifies the types of events that might trigger the start of a goal",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/goal-start-event"
              }
            }
          },
          {
            "id": "PlanDefinition.goal.addresses",
            "path": "PlanDefinition.goal.addresses",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalAddresses"
                }
              ],
              "strength": "example",
              "description": "Identifies problems, conditions, issues, or concerns that goals may address",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "PlanDefinition.goal.documentation",
            "path": "PlanDefinition.goal.documentation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal.target",
            "path": "PlanDefinition.goal.target",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal.target.measure",
            "path": "PlanDefinition.goal.target.measure",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "GoalTargetMeasure"
                }
              ],
              "strength": "example",
              "description": "Identifies types of parameters that can be tracked to determine goal achievement",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-codes"
              }
            }
          },
          {
            "id": "PlanDefinition.goal.target.detail[x]",
            "path": "PlanDefinition.goal.target.detail[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              },
              {
                "code": "CodeableConcept"
              }
            ]
          },
          {
            "id": "PlanDefinition.goal.target.due",
            "path": "PlanDefinition.goal.target.due",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Duration"
              }
            ]
          },
          {
            "id": "PlanDefinition.action",
            "path": "PlanDefinition.action",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.label",
            "path": "PlanDefinition.action.label",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.title",
            "path": "PlanDefinition.action.title",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.description",
            "path": "PlanDefinition.action.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.textEquivalent",
            "path": "PlanDefinition.action.textEquivalent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.code",
            "path": "PlanDefinition.action.code",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.reason",
            "path": "PlanDefinition.action.reason",
            "comment": "This is different than the clinical evidence documentation, it's an actual business description of the reason for performing the action.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.documentation",
            "path": "PlanDefinition.action.documentation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.goalId",
            "path": "PlanDefinition.action.goalId",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.triggerDefinition",
            "path": "PlanDefinition.action.triggerDefinition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "TriggerDefinition"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.condition",
            "path": "PlanDefinition.action.condition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.condition.kind",
            "path": "PlanDefinition.action.condition.kind",
            "comment": "Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe when enter/exit criteria for an action.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionConditionKind"
                }
              ],
              "strength": "required",
              "description": "Defines the kinds of conditions that can appear on actions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-condition-kind"
              }
            }
          },
          {
            "id": "PlanDefinition.action.condition.description",
            "path": "PlanDefinition.action.condition.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.condition.language",
            "path": "PlanDefinition.action.condition.language",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.condition.expression",
            "path": "PlanDefinition.action.condition.expression",
            "comment": "The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.input",
            "path": "PlanDefinition.action.input",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "DataRequirement"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.output",
            "path": "PlanDefinition.action.output",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "DataRequirement"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.relatedAction",
            "path": "PlanDefinition.action.relatedAction",
            "comment": "When an action depends on multiple actions, the meaning is that all actions are dependencies, rather than that any of the actions are a dependency.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.relatedAction.actionId",
            "path": "PlanDefinition.action.relatedAction.actionId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.relatedAction.relationship",
            "path": "PlanDefinition.action.relatedAction.relationship",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionRelationshipType"
                }
              ],
              "strength": "required",
              "description": "Defines the types of relationships between actions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-relationship-type"
              }
            }
          },
          {
            "id": "PlanDefinition.action.relatedAction.offset[x]",
            "path": "PlanDefinition.action.relatedAction.offset[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Duration"
              },
              {
                "code": "Range"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.timing[x]",
            "path": "PlanDefinition.action.timing[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Duration"
              },
              {
                "code": "Range"
              },
              {
                "code": "Timing"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.participant",
            "path": "PlanDefinition.action.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.participant.type",
            "path": "PlanDefinition.action.participant.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionParticipantType"
                }
              ],
              "strength": "required",
              "description": "The type of participant for the action",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-participant-type"
              }
            }
          },
          {
            "id": "PlanDefinition.action.participant.role",
            "path": "PlanDefinition.action.participant.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionParticipantRole"
                }
              ],
              "strength": "example",
              "description": "Defines roles played by participants for the action",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-participant-role"
              }
            }
          },
          {
            "id": "PlanDefinition.action.type",
            "path": "PlanDefinition.action.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionType"
                }
              ],
              "strength": "required",
              "description": "The type of action to be performed",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-type"
              }
            }
          },
          {
            "id": "PlanDefinition.action.groupingBehavior",
            "path": "PlanDefinition.action.groupingBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionGroupingBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines organization behavior of a group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-grouping-behavior"
              }
            }
          },
          {
            "id": "PlanDefinition.action.selectionBehavior",
            "path": "PlanDefinition.action.selectionBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionSelectionBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines selection behavior of a group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-selection-behavior"
              }
            }
          },
          {
            "id": "PlanDefinition.action.requiredBehavior",
            "path": "PlanDefinition.action.requiredBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionRequiredBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines requiredness behavior for selecting an action or an action group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-required-behavior"
              }
            }
          },
          {
            "id": "PlanDefinition.action.precheckBehavior",
            "path": "PlanDefinition.action.precheckBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionPrecheckBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines selection frequency behavior for an action or group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-precheck-behavior"
              }
            }
          },
          {
            "id": "PlanDefinition.action.cardinalityBehavior",
            "path": "PlanDefinition.action.cardinalityBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionCardinalityBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines behavior for an action or a group for how many times that item may be repeated",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-cardinality-behavior"
              }
            }
          },
          {
            "id": "PlanDefinition.action.definition",
            "path": "PlanDefinition.action.definition",
            "comment": "Note that the definition is optional, and if no definition is specified, a dynamicValue with a root (~) path can be used to define the entire resource dynamically.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.transform",
            "path": "PlanDefinition.action.transform",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/StructureMap"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.dynamicValue",
            "path": "PlanDefinition.action.dynamicValue",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.dynamicValue.description",
            "path": "PlanDefinition.action.dynamicValue.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.dynamicValue.path",
            "path": "PlanDefinition.action.dynamicValue.path",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.dynamicValue.language",
            "path": "PlanDefinition.action.dynamicValue.language",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.dynamicValue.expression",
            "path": "PlanDefinition.action.dynamicValue.expression",
            "comment": "The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PlanDefinition.action.action",
            "path": "PlanDefinition.action.action",
            "min": 0,
            "max": "*",
            "contentReference": "#PlanDefinition.action"
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Practitioner",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Practitioner",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Practitioner",
      "name": "Practitioner",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "Need to track doctors, staff, locums etc. for both healthcare practitioners, funders, etc.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Practitioner",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Practitioner",
            "path": "Practitioner",
            "comment": "Note that a cab driver no longer fits the bill. You probably would be interested in the organization rather than the individual?",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Practitioner.id",
            "path": "Practitioner.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Practitioner.meta",
            "path": "Practitioner.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Practitioner.implicitRules",
            "path": "Practitioner.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Practitioner.language",
            "path": "Practitioner.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Practitioner.text",
            "path": "Practitioner.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Practitioner.contained",
            "path": "Practitioner.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Practitioner.extension",
            "path": "Practitioner.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Practitioner.modifierExtension",
            "path": "Practitioner.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Practitioner.identifier",
            "path": "Practitioner.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Practitioner.active",
            "path": "Practitioner.active",
            "comment": "Default is true. \r\rIf the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isSummary": true
          },
          {
            "id": "Practitioner.name",
            "path": "Practitioner.name",
            "comment": "The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate.\r\rIn general select the value to be used in the ResourceReference.display based on this:\r\r1. There is more than 1 name\r2. Use = usual\r3. Period is current to the date of the usage\r4. Use = official\r5. Other order as decided by internal business rules.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "HumanName"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Practitioner.telecom",
            "path": "Practitioner.telecom",
            "comment": "Person may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently, and also to help with identification\r\rThese typically will have home numbers, or mobile numbers that are not role specific.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Practitioner.address",
            "path": "Practitioner.address",
            "comment": "The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Address"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Practitioner.gender",
            "path": "Practitioner.gender",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdministrativeGender"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The gender of a person used for administrative purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
              }
            }
          },
          {
            "id": "Practitioner.birthDate",
            "path": "Practitioner.birthDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Practitioner.photo",
            "path": "Practitioner.photo",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          },
          {
            "id": "Practitioner.qualification",
            "path": "Practitioner.qualification",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Practitioner.qualification.id",
            "path": "Practitioner.qualification.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Practitioner.qualification.extension",
            "path": "Practitioner.qualification.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Practitioner.qualification.modifierExtension",
            "path": "Practitioner.qualification.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Practitioner.qualification.identifier",
            "path": "Practitioner.qualification.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Practitioner.qualification.code",
            "path": "Practitioner.qualification.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Qualification"
                }
              ],
              "strength": "example",
              "description": "Specific qualification the practitioner has to provide a service",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-2.7-0360"
              }
            }
          },
          {
            "id": "Practitioner.qualification.period",
            "path": "Practitioner.qualification.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Practitioner.qualification.issuer",
            "path": "Practitioner.qualification.issuer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Practitioner.communication",
            "path": "Practitioner.communication",
            "comment": "The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Practitioner",
            "path": "Practitioner",
            "comment": "Note that a cab driver no longer fits the bill. You probably would be interested in the organization rather than the individual?",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Practitioner.identifier",
            "path": "Practitioner.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Practitioner.active",
            "path": "Practitioner.active",
            "comment": "Default is true. \r\rIf the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isSummary": true
          },
          {
            "id": "Practitioner.name",
            "path": "Practitioner.name",
            "comment": "The selection of the use property should ensure that there is a single usual name specified, and others use the nickname (alias), old, or other values as appropriate.\r\rIn general select the value to be used in the ResourceReference.display based on this:\r\r1. There is more than 1 name\r2. Use = usual\r3. Period is current to the date of the usage\r4. Use = official\r5. Other order as decided by internal business rules.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "HumanName"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Practitioner.telecom",
            "path": "Practitioner.telecom",
            "comment": "Person may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently, and also to help with identification\r\rThese typically will have home numbers, or mobile numbers that are not role specific.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Practitioner.address",
            "path": "Practitioner.address",
            "comment": "The PractitionerRole does not have an address value on it, as it is expected that the location property be used for this purpose (which has an address).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Address"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Practitioner.gender",
            "path": "Practitioner.gender",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdministrativeGender"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The gender of a person used for administrative purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
              }
            }
          },
          {
            "id": "Practitioner.birthDate",
            "path": "Practitioner.birthDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Practitioner.photo",
            "path": "Practitioner.photo",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          },
          {
            "id": "Practitioner.qualification",
            "path": "Practitioner.qualification",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Practitioner.qualification.identifier",
            "path": "Practitioner.qualification.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Practitioner.qualification.code",
            "path": "Practitioner.qualification.code",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Qualification"
                }
              ],
              "strength": "example",
              "description": "Specific qualification the practitioner has to provide a service",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-2.7-0360"
              }
            }
          },
          {
            "id": "Practitioner.qualification.period",
            "path": "Practitioner.qualification.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Practitioner.qualification.issuer",
            "path": "Practitioner.qualification.issuer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Practitioner.communication",
            "path": "Practitioner.communication",
            "comment": "The structure aa-BB with this exact casing is one the most widely used notations for locale. However not all systems actually code this but instead have it as free text. Hence CodeableConcept instead of code as the data type.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "PractitionerRole",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
      "name": "PractitionerRole",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "Need to track services that a healthcare provider is able to provide at an organization's location, and the services that they can perform there.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "PractitionerRole",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "PractitionerRole",
            "path": "PractitionerRole",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "PractitionerRole.id",
            "path": "PractitionerRole.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.meta",
            "path": "PractitionerRole.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.implicitRules",
            "path": "PractitionerRole.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PractitionerRole.language",
            "path": "PractitionerRole.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "PractitionerRole.text",
            "path": "PractitionerRole.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "PractitionerRole.contained",
            "path": "PractitionerRole.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "PractitionerRole.extension",
            "path": "PractitionerRole.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PractitionerRole.modifierExtension",
            "path": "PractitionerRole.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "PractitionerRole.identifier",
            "path": "PractitionerRole.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.active",
            "path": "PractitionerRole.active",
            "comment": "Default is true. \r\rIf the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isSummary": true
          },
          {
            "id": "PractitionerRole.period",
            "path": "PractitionerRole.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.practitioner",
            "path": "PractitionerRole.practitioner",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.organization",
            "path": "PractitionerRole.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.code",
            "path": "PractitionerRole.code",
            "comment": "A person may have more than one role. At least one role is required.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PractitionerRole"
                }
              ],
              "strength": "example",
              "description": "The role a person plays representing an organization",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/practitioner-role"
              }
            }
          },
          {
            "id": "PractitionerRole.specialty",
            "path": "PractitionerRole.specialty",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PractitionerSpecialty"
                }
              ],
              "strength": "preferred",
              "description": "Specific specialty associated with the agency",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "PractitionerRole.location",
            "path": "PractitionerRole.location",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.healthcareService",
            "path": "PractitionerRole.healthcareService",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              }
            ]
          },
          {
            "id": "PractitionerRole.telecom",
            "path": "PractitionerRole.telecom",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.availableTime",
            "path": "PractitionerRole.availableTime",
            "comment": "More detailed availability information may be provided in associated Schedule/Slot resources.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "PractitionerRole.availableTime.id",
            "path": "PractitionerRole.availableTime.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PractitionerRole.availableTime.extension",
            "path": "PractitionerRole.availableTime.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PractitionerRole.availableTime.modifierExtension",
            "path": "PractitionerRole.availableTime.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PractitionerRole.availableTime.daysOfWeek",
            "path": "PractitionerRole.availableTime.daysOfWeek",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DaysOfWeek"
                }
              ],
              "strength": "required",
              "description": "The days of the week.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/days-of-week"
              }
            }
          },
          {
            "id": "PractitionerRole.availableTime.allDay",
            "path": "PractitionerRole.availableTime.allDay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "PractitionerRole.availableTime.availableStartTime",
            "path": "PractitionerRole.availableTime.availableStartTime",
            "comment": "The timezone is expected to be for where this HealthcareService is provided at.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "time"
              }
            ]
          },
          {
            "id": "PractitionerRole.availableTime.availableEndTime",
            "path": "PractitionerRole.availableTime.availableEndTime",
            "comment": "The timezone is expected to be for where this HealthcareService is provided at.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "time"
              }
            ]
          },
          {
            "id": "PractitionerRole.notAvailable",
            "path": "PractitionerRole.notAvailable",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "PractitionerRole.notAvailable.id",
            "path": "PractitionerRole.notAvailable.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PractitionerRole.notAvailable.extension",
            "path": "PractitionerRole.notAvailable.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "PractitionerRole.notAvailable.modifierExtension",
            "path": "PractitionerRole.notAvailable.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "PractitionerRole.notAvailable.description",
            "path": "PractitionerRole.notAvailable.description",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PractitionerRole.notAvailable.during",
            "path": "PractitionerRole.notAvailable.during",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "PractitionerRole.availabilityExceptions",
            "path": "PractitionerRole.availabilityExceptions",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PractitionerRole.endpoint",
            "path": "PractitionerRole.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "PractitionerRole",
            "path": "PractitionerRole",
            "min": 0,
            "max": "*"
          },
          {
            "id": "PractitionerRole.identifier",
            "path": "PractitionerRole.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.active",
            "path": "PractitionerRole.active",
            "comment": "Default is true. \r\rIf the practitioner is not in use by one organization, then it should mark the period on the PractitonerRole with an end date (even if they are active) as they may be active in another role.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isSummary": true
          },
          {
            "id": "PractitionerRole.period",
            "path": "PractitionerRole.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.practitioner",
            "path": "PractitionerRole.practitioner",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.organization",
            "path": "PractitionerRole.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.code",
            "path": "PractitionerRole.code",
            "comment": "A person may have more than one role. At least one role is required.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PractitionerRole"
                }
              ],
              "strength": "example",
              "description": "The role a person plays representing an organization",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/practitioner-role"
              }
            }
          },
          {
            "id": "PractitionerRole.specialty",
            "path": "PractitionerRole.specialty",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PractitionerSpecialty"
                }
              ],
              "strength": "preferred",
              "description": "Specific specialty associated with the agency",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "PractitionerRole.location",
            "path": "PractitionerRole.location",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.healthcareService",
            "path": "PractitionerRole.healthcareService",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              }
            ]
          },
          {
            "id": "PractitionerRole.telecom",
            "path": "PractitionerRole.telecom",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "PractitionerRole.availableTime",
            "path": "PractitionerRole.availableTime",
            "comment": "More detailed availability information may be provided in associated Schedule/Slot resources.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "PractitionerRole.availableTime.daysOfWeek",
            "path": "PractitionerRole.availableTime.daysOfWeek",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DaysOfWeek"
                }
              ],
              "strength": "required",
              "description": "The days of the week.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/days-of-week"
              }
            }
          },
          {
            "id": "PractitionerRole.availableTime.allDay",
            "path": "PractitionerRole.availableTime.allDay",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "PractitionerRole.availableTime.availableStartTime",
            "path": "PractitionerRole.availableTime.availableStartTime",
            "comment": "The timezone is expected to be for where this HealthcareService is provided at.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "time"
              }
            ]
          },
          {
            "id": "PractitionerRole.availableTime.availableEndTime",
            "path": "PractitionerRole.availableTime.availableEndTime",
            "comment": "The timezone is expected to be for where this HealthcareService is provided at.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "time"
              }
            ]
          },
          {
            "id": "PractitionerRole.notAvailable",
            "path": "PractitionerRole.notAvailable",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "PractitionerRole.notAvailable.description",
            "path": "PractitionerRole.notAvailable.description",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PractitionerRole.notAvailable.during",
            "path": "PractitionerRole.notAvailable.during",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "PractitionerRole.availabilityExceptions",
            "path": "PractitionerRole.availabilityExceptions",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "PractitionerRole.endpoint",
            "path": "PractitionerRole.endpoint",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Endpoint"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Procedure",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Procedure",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Procedure",
      "name": "Procedure",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Procedure",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Procedure",
            "path": "Procedure",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "pro-1",
                "severity": "error",
                "human": "Reason not done is only permitted if notDone indicator is true",
                "expression": "notDoneReason.empty() or notDone = true",
                "xpath": "not(exists(f:notDoneReason)) or f:notDone/@value=true()"
              }
            ]
          },
          {
            "id": "Procedure.id",
            "path": "Procedure.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.meta",
            "path": "Procedure.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.implicitRules",
            "path": "Procedure.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Procedure.language",
            "path": "Procedure.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Procedure.text",
            "path": "Procedure.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Procedure.contained",
            "path": "Procedure.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Procedure.extension",
            "path": "Procedure.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Procedure.modifierExtension",
            "path": "Procedure.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Procedure.identifier",
            "path": "Procedure.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.definition",
            "path": "Procedure.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.basedOn",
            "path": "Procedure.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.partOf",
            "path": "Procedure.partOf",
            "comment": "The MedicationAdministration has a partOf reference to Procedure, but this is not a circular reference.  For a surgical procedure, the anesthesia related medicationAdministration is part of the procedure.  For an IV medication administration,  the procedure to insert the IV port is part of the medication administration.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.status",
            "path": "Procedure.status",
            "comment": "The unknown code is not to be used to convey other statuses.  The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the procedure.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the procedure.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/event-status"
              }
            }
          },
          {
            "id": "Procedure.notDone",
            "path": "Procedure.notDone",
            "comment": "If true, it means the procedure did not occur as described.  Typically it would be accompanied by attributes describing the type of activity.  It might also be accompanied by body site information or time information (i.e. no procedure was done to the left arm or no procedure was done in this 2-year period).  Specifying additional information such as performer, outcome, etc. is generally inappropriate.  For example, it's not that useful to say \"There was no appendectomy done at 12:03pm June 6th by Dr. Smith with a successful outcome\" as it implies that there *could* have been an appendectomy done at any other time, by any other clinician or with any other outcome.\n\nThis element is labeled as a modifier because it indicates that a procedure didn't happen.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Procedure.notDoneReason",
            "path": "Procedure.notDoneReason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "pro-1"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureNegationReason"
                }
              ],
              "strength": "example",
              "description": "A code that identifies the reason a procedure was not performed.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-not-performed-reason"
              }
            }
          },
          {
            "id": "Procedure.category",
            "path": "Procedure.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureCategory"
                }
              ],
              "strength": "example",
              "description": "A code that classifies a procedure for searching, sorting and display purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-category"
              }
            }
          },
          {
            "id": "Procedure.code",
            "path": "Procedure.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureCode"
                }
              ],
              "strength": "example",
              "description": "A code to identify a specific procedure .",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-code"
              }
            }
          },
          {
            "id": "Procedure.subject",
            "path": "Procedure.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.context",
            "path": "Procedure.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.performed[x]",
            "path": "Procedure.performed[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.performer",
            "path": "Procedure.performer",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.performer.id",
            "path": "Procedure.performer.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Procedure.performer.extension",
            "path": "Procedure.performer.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Procedure.performer.modifierExtension",
            "path": "Procedure.performer.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Procedure.performer.role",
            "path": "Procedure.performer.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedurePerformerRole"
                }
              ],
              "strength": "example",
              "description": "A code that identifies the role of a performer of the procedure.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/performer-role"
              }
            }
          },
          {
            "id": "Procedure.performer.actor",
            "path": "Procedure.performer.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.performer.onBehalfOf",
            "path": "Procedure.performer.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Procedure.location",
            "path": "Procedure.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.reasonCode",
            "path": "Procedure.reasonCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureReason"
                }
              ],
              "strength": "example",
              "description": "A code that identifies the reason a procedure is  required.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-reason"
              }
            }
          },
          {
            "id": "Procedure.reasonReference",
            "path": "Procedure.reasonReference",
            "comment": "e.g. endoscopy for dilatation and biopsy, combination diagnosis and therapeutic.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.bodySite",
            "path": "Procedure.bodySite",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "Procedure.outcome",
            "path": "Procedure.outcome",
            "comment": "If outcome contains narrative text only, it can be captured using the CodeableConcept.text.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureOutcome"
                }
              ],
              "strength": "example",
              "description": "An outcome of a procedure - whether it was resolved or otherwise.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-outcome"
              }
            }
          },
          {
            "id": "Procedure.report",
            "path": "Procedure.report",
            "comment": "There could potentially be multiple reports - e.g. if this was a procedure which took multiple biopsies resulting in a number of anatomical pathology reports.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport"
              }
            ]
          },
          {
            "id": "Procedure.complication",
            "path": "Procedure.complication",
            "comment": "If complications are only expressed by the narrative text, they can be captured using the CodeableConcept.text.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureComplication"
                }
              ],
              "strength": "example",
              "description": "Codes describing complications that resulted from a procedure.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "Procedure.complicationDetail",
            "path": "Procedure.complicationDetail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ]
          },
          {
            "id": "Procedure.followUp",
            "path": "Procedure.followUp",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureFollowUp"
                }
              ],
              "strength": "example",
              "description": "Specific follow up required for a procedure e.g. removal of sutures.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-followup"
              }
            }
          },
          {
            "id": "Procedure.note",
            "path": "Procedure.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "Procedure.focalDevice",
            "path": "Procedure.focalDevice",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Procedure.focalDevice.id",
            "path": "Procedure.focalDevice.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Procedure.focalDevice.extension",
            "path": "Procedure.focalDevice.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Procedure.focalDevice.modifierExtension",
            "path": "Procedure.focalDevice.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Procedure.focalDevice.action",
            "path": "Procedure.focalDevice.action",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceActionKind"
                }
              ],
              "strength": "preferred",
              "description": "A kind of change that happened to the device during the procedure.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-action"
              }
            }
          },
          {
            "id": "Procedure.focalDevice.manipulated",
            "path": "Procedure.focalDevice.manipulated",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "Procedure.usedReference",
            "path": "Procedure.usedReference",
            "comment": "For devices actually implanted or removed, use Procedure.device.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ]
          },
          {
            "id": "Procedure.usedCode",
            "path": "Procedure.usedCode",
            "comment": "For devices actually implanted or removed, use Procedure.device.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureUsed"
                }
              ],
              "strength": "example",
              "description": "Codes describing items used during a procedure",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-kind"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Procedure",
            "path": "Procedure",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "pro-1",
                "severity": "error",
                "human": "Reason not done is only permitted if notDone indicator is true",
                "expression": "notDoneReason.empty() or notDone = true",
                "xpath": "not(exists(f:notDoneReason)) or f:notDone/@value=true()"
              }
            ]
          },
          {
            "id": "Procedure.identifier",
            "path": "Procedure.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.definition",
            "path": "Procedure.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.basedOn",
            "path": "Procedure.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.partOf",
            "path": "Procedure.partOf",
            "comment": "The MedicationAdministration has a partOf reference to Procedure, but this is not a circular reference.  For a surgical procedure, the anesthesia related medicationAdministration is part of the procedure.  For an IV medication administration,  the procedure to insert the IV port is part of the medication administration.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/MedicationAdministration"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.status",
            "path": "Procedure.status",
            "comment": "The unknown code is not to be used to convey other statuses.  The unknown code should be used when one of the statuses applies, but the authoring system doesn't know the current state of the procedure.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the procedure.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/event-status"
              }
            }
          },
          {
            "id": "Procedure.notDone",
            "path": "Procedure.notDone",
            "comment": "If true, it means the procedure did not occur as described.  Typically it would be accompanied by attributes describing the type of activity.  It might also be accompanied by body site information or time information (i.e. no procedure was done to the left arm or no procedure was done in this 2-year period).  Specifying additional information such as performer, outcome, etc. is generally inappropriate.  For example, it's not that useful to say \"There was no appendectomy done at 12:03pm June 6th by Dr. Smith with a successful outcome\" as it implies that there *could* have been an appendectomy done at any other time, by any other clinician or with any other outcome.\n\nThis element is labeled as a modifier because it indicates that a procedure didn't happen.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Procedure.notDoneReason",
            "path": "Procedure.notDoneReason",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "condition": [
              "pro-1"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureNegationReason"
                }
              ],
              "strength": "example",
              "description": "A code that identifies the reason a procedure was not performed.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-not-performed-reason"
              }
            }
          },
          {
            "id": "Procedure.category",
            "path": "Procedure.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureCategory"
                }
              ],
              "strength": "example",
              "description": "A code that classifies a procedure for searching, sorting and display purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-category"
              }
            }
          },
          {
            "id": "Procedure.code",
            "path": "Procedure.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureCode"
                }
              ],
              "strength": "example",
              "description": "A code to identify a specific procedure .",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-code"
              }
            }
          },
          {
            "id": "Procedure.subject",
            "path": "Procedure.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.context",
            "path": "Procedure.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.performed[x]",
            "path": "Procedure.performed[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.performer",
            "path": "Procedure.performer",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.performer.role",
            "path": "Procedure.performer.role",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedurePerformerRole"
                }
              ],
              "strength": "example",
              "description": "A code that identifies the role of a performer of the procedure.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/performer-role"
              }
            }
          },
          {
            "id": "Procedure.performer.actor",
            "path": "Procedure.performer.actor",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.performer.onBehalfOf",
            "path": "Procedure.performer.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Procedure.location",
            "path": "Procedure.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.reasonCode",
            "path": "Procedure.reasonCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureReason"
                }
              ],
              "strength": "example",
              "description": "A code that identifies the reason a procedure is  required.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-reason"
              }
            }
          },
          {
            "id": "Procedure.reasonReference",
            "path": "Procedure.reasonReference",
            "comment": "e.g. endoscopy for dilatation and biopsy, combination diagnosis and therapeutic.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Procedure.bodySite",
            "path": "Procedure.bodySite",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "Procedure.outcome",
            "path": "Procedure.outcome",
            "comment": "If outcome contains narrative text only, it can be captured using the CodeableConcept.text.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureOutcome"
                }
              ],
              "strength": "example",
              "description": "An outcome of a procedure - whether it was resolved or otherwise.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-outcome"
              }
            }
          },
          {
            "id": "Procedure.report",
            "path": "Procedure.report",
            "comment": "There could potentially be multiple reports - e.g. if this was a procedure which took multiple biopsies resulting in a number of anatomical pathology reports.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/DiagnosticReport"
              }
            ]
          },
          {
            "id": "Procedure.complication",
            "path": "Procedure.complication",
            "comment": "If complications are only expressed by the narrative text, they can be captured using the CodeableConcept.text.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureComplication"
                }
              ],
              "strength": "example",
              "description": "Codes describing complications that resulted from a procedure.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/condition-code"
              }
            }
          },
          {
            "id": "Procedure.complicationDetail",
            "path": "Procedure.complicationDetail",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ]
          },
          {
            "id": "Procedure.followUp",
            "path": "Procedure.followUp",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureFollowUp"
                }
              ],
              "strength": "example",
              "description": "Specific follow up required for a procedure e.g. removal of sutures.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-followup"
              }
            }
          },
          {
            "id": "Procedure.note",
            "path": "Procedure.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "Procedure.focalDevice",
            "path": "Procedure.focalDevice",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Procedure.focalDevice.action",
            "path": "Procedure.focalDevice.action",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DeviceActionKind"
                }
              ],
              "strength": "preferred",
              "description": "A kind of change that happened to the device during the procedure.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-action"
              }
            }
          },
          {
            "id": "Procedure.focalDevice.manipulated",
            "path": "Procedure.focalDevice.manipulated",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ]
          },
          {
            "id": "Procedure.usedReference",
            "path": "Procedure.usedReference",
            "comment": "For devices actually implanted or removed, use Procedure.device.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ]
          },
          {
            "id": "Procedure.usedCode",
            "path": "Procedure.usedCode",
            "comment": "For devices actually implanted or removed, use Procedure.device.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureUsed"
                }
              ],
              "strength": "example",
              "description": "Codes describing items used during a procedure",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/device-kind"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ProcedureRequest",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest",
      "name": "ProcedureRequest",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ProcedureRequest",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ProcedureRequest",
            "path": "ProcedureRequest",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ProcedureRequest.id",
            "path": "ProcedureRequest.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.meta",
            "path": "ProcedureRequest.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.implicitRules",
            "path": "ProcedureRequest.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.language",
            "path": "ProcedureRequest.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ProcedureRequest.text",
            "path": "ProcedureRequest.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ProcedureRequest.contained",
            "path": "ProcedureRequest.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ProcedureRequest.extension",
            "path": "ProcedureRequest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ProcedureRequest.modifierExtension",
            "path": "ProcedureRequest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ProcedureRequest.identifier",
            "path": "ProcedureRequest.identifier",
            "comment": "The identifier.type element is used to distinguish between the identifiers assigned by the orderer (known as the 'Placer' in HL7 v2) and the producer of the observations in response to the order (known as the 'Filler' in HL7 v2).  For further discussion and examples see the resource notes section below.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.definition",
            "path": "ProcedureRequest.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.basedOn",
            "path": "ProcedureRequest.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.replaces",
            "path": "ProcedureRequest.replaces",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.requisition",
            "path": "ProcedureRequest.requisition",
            "comment": "Requests are linked either by a \"basedOn\" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.status",
            "path": "ProcedureRequest.status",
            "comment": "The status is generally fully in the control of the requester - they determine whether the order is draft or active and, after it has been activated, competed, cancelled or suspended. States relating to the activities of the performer are reflected on either the corresponding event (see [Event Pattern](event.html) for general discussion) or using the [Task](task.html) resource.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestStatus"
                }
              ],
              "strength": "required",
              "description": "The status of a procedure or diagnostic order.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-status"
              }
            }
          },
          {
            "id": "ProcedureRequest.intent",
            "path": "ProcedureRequest.intent",
            "comment": "This element is labeled as a modifier because the intent alters when and how the resource is actually applicable.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestIntent"
                }
              ],
              "strength": "required",
              "description": "The kind of procedure or diagnostic request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-intent"
              }
            }
          },
          {
            "id": "ProcedureRequest.priority",
            "path": "ProcedureRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "If missing, this task should be performed with normal priority",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestPriority"
                }
              ],
              "strength": "required",
              "description": "Identifies the level of importance to be assigned to actioning the request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "ProcedureRequest.doNotPerform",
            "path": "ProcedureRequest.doNotPerform",
            "comment": "This element is labeled as a [modifier](conformance-rules.html#isModifier.html) because it indicates that a procedure shouldn't happen, instead of a request for it to happen.  In general, only the code and timeframe will be present, though occasional additional qualifiers such as body site or even performer could be included to narrow the scope of the prohibition.  If the ProcedureRequest.code and ProcedureRequest.doNotPerform both contain negation, that will reinforce prohibition and should not have a double negative interpretation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.category",
            "path": "ProcedureRequest.category",
            "comment": "There may be multiple axis of categorization depending on the context or use case for retrieving or displaying the resource.  The level of granularity is defined by the category concepts in the value set.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestCategory"
                }
              ],
              "strength": "example",
              "description": "Classification of the procedure",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-category"
              }
            }
          },
          {
            "id": "ProcedureRequest.code",
            "path": "ProcedureRequest.code",
            "comment": "Many laboratory and radiology procedure codes embed the specimen/organ system in the test ordeer name, for example,  serum or serum/plasma glucose, or a chest xray. The specimen may not be recorded separately from the test code.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestCode"
                }
              ],
              "strength": "example",
              "description": "Codes for tests/services that can be performed by procedure or diagnostic services.  For laboratory, LOINC is  (preferred)[http://build.fhir.org/terminologies.html#preferred] and a valueset using LOINC Order codes is available [here](valueset-diagnostic-requests.html).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-code"
              }
            }
          },
          {
            "id": "ProcedureRequest.subject",
            "path": "ProcedureRequest.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.context",
            "path": "ProcedureRequest.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.occurrence[x]",
            "path": "ProcedureRequest.occurrence[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Timing"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.asNeeded[x]",
            "path": "ProcedureRequest.asNeeded[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureAsNeededReason"
                }
              ],
              "strength": "example",
              "description": "A coded concept identifying the pre-condition that should hold prior to performing a procedure.  For example \"pain\", \"on flare-up\", etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-as-needed-reason"
              }
            }
          },
          {
            "id": "ProcedureRequest.authoredOn",
            "path": "ProcedureRequest.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.requester",
            "path": "ProcedureRequest.requester",
            "comment": "This not the dispatcher, but rather who is the authorizer.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.requester.id",
            "path": "ProcedureRequest.requester.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcedureRequest.requester.extension",
            "path": "ProcedureRequest.requester.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ProcedureRequest.requester.modifierExtension",
            "path": "ProcedureRequest.requester.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.requester.agent",
            "path": "ProcedureRequest.requester.agent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.requester.onBehalfOf",
            "path": "ProcedureRequest.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.performerType",
            "path": "ProcedureRequest.performerType",
            "comment": "this is a  role, not  a participation type.  I.e. does not describe the task, but describes the capacity.  For example, “compounding pharmacy” or “psychiatrist” or “internal referral”.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestParticipantRole"
                }
              ],
              "strength": "example",
              "description": "Indicates specific responsibility of an individual within the care team, such as \"Primary physician\", \"Team coordinator\", \"Caregiver\", etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/participant-role"
              }
            }
          },
          {
            "id": "ProcedureRequest.performer",
            "path": "ProcedureRequest.performer",
            "comment": "If needed, use an [extension](extensibility.html) for listing alternative performers and/or roles and/or preference.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.reasonCode",
            "path": "ProcedureRequest.reasonCode",
            "comment": "This may be used to decide how the diagnostic investigation will be performed, or even if it will be performed at all.   Use CodeableConcept text element if the data is free (uncoded) text as shown in the [CT Scan example](procedurerequest-example-di.html).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestReason"
                }
              ],
              "strength": "example",
              "description": "Diagnosis or problem codes justifying the reason for requesting the procedure or diagnostic investigation.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-reason"
              }
            }
          },
          {
            "id": "ProcedureRequest.reasonReference",
            "path": "ProcedureRequest.reasonReference",
            "comment": "This may be used to decide how the diagnostic investigation will be performed, or even if it will be performed at all.   Use CodeableConcept text element if the data is free (uncoded) text as shown in the [CT Scan example](procedurerequest-example-di.html).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.supportingInfo",
            "path": "ProcedureRequest.supportingInfo",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "ProcedureRequest.specimen",
            "path": "ProcedureRequest.specimen",
            "comment": "Many diagnostic procedures need a specimen, but the request itself is not actually about the specimen. This element is for when the diagnostic is requested on already existing specimens and the request points to the specimen it applies to.    Conversely, If the request is entered first with an unknown specimen, The [Specimen](specimen.html) resource references to the ProcedureRequest.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.bodySite",
            "path": "ProcedureRequest.bodySite",
            "comment": "Only used if not implicit in the code found in ProcedureRequest.type.  If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately)  then use the standard extension [procedurerequest-targetBodySite](extension-procedurerequest-targetbodysite.html).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "ProcedureRequest.note",
            "path": "ProcedureRequest.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "ProcedureRequest.relevantHistory",
            "path": "ProcedureRequest.relevantHistory",
            "comment": "This may not include provenances for all versions of the request – only those deemed “relevant” or important.\rThis SHALL NOT include the Provenance associated with this current version of the resource.  (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update.  Until then, it can be queried directly as the Provenance that points to this version using _revinclude\rAll Provenances should have some historical version of this Request as their subject.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ProcedureRequest",
            "path": "ProcedureRequest",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ProcedureRequest.identifier",
            "path": "ProcedureRequest.identifier",
            "comment": "The identifier.type element is used to distinguish between the identifiers assigned by the orderer (known as the 'Placer' in HL7 v2) and the producer of the observations in response to the order (known as the 'Filler' in HL7 v2).  For further discussion and examples see the resource notes section below.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.definition",
            "path": "ProcedureRequest.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.basedOn",
            "path": "ProcedureRequest.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.replaces",
            "path": "ProcedureRequest.replaces",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.requisition",
            "path": "ProcedureRequest.requisition",
            "comment": "Requests are linked either by a \"basedOn\" relationship (i.e. one request is fulfilling another) or by having a common requisition. Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.status",
            "path": "ProcedureRequest.status",
            "comment": "The status is generally fully in the control of the requester - they determine whether the order is draft or active and, after it has been activated, competed, cancelled or suspended. States relating to the activities of the performer are reflected on either the corresponding event (see [Event Pattern](event.html) for general discussion) or using the [Task](task.html) resource.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestStatus"
                }
              ],
              "strength": "required",
              "description": "The status of a procedure or diagnostic order.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-status"
              }
            }
          },
          {
            "id": "ProcedureRequest.intent",
            "path": "ProcedureRequest.intent",
            "comment": "This element is labeled as a modifier because the intent alters when and how the resource is actually applicable.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestIntent"
                }
              ],
              "strength": "required",
              "description": "The kind of procedure or diagnostic request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-intent"
              }
            }
          },
          {
            "id": "ProcedureRequest.priority",
            "path": "ProcedureRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "If missing, this task should be performed with normal priority",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestPriority"
                }
              ],
              "strength": "required",
              "description": "Identifies the level of importance to be assigned to actioning the request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "ProcedureRequest.doNotPerform",
            "path": "ProcedureRequest.doNotPerform",
            "comment": "This element is labeled as a [modifier](conformance-rules.html#isModifier.html) because it indicates that a procedure shouldn't happen, instead of a request for it to happen.  In general, only the code and timeframe will be present, though occasional additional qualifiers such as body site or even performer could be included to narrow the scope of the prohibition.  If the ProcedureRequest.code and ProcedureRequest.doNotPerform both contain negation, that will reinforce prohibition and should not have a double negative interpretation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.category",
            "path": "ProcedureRequest.category",
            "comment": "There may be multiple axis of categorization depending on the context or use case for retrieving or displaying the resource.  The level of granularity is defined by the category concepts in the value set.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestCategory"
                }
              ],
              "strength": "example",
              "description": "Classification of the procedure",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-category"
              }
            }
          },
          {
            "id": "ProcedureRequest.code",
            "path": "ProcedureRequest.code",
            "comment": "Many laboratory and radiology procedure codes embed the specimen/organ system in the test ordeer name, for example,  serum or serum/plasma glucose, or a chest xray. The specimen may not be recorded separately from the test code.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestCode"
                }
              ],
              "strength": "example",
              "description": "Codes for tests/services that can be performed by procedure or diagnostic services.  For laboratory, LOINC is  (preferred)[http://build.fhir.org/terminologies.html#preferred] and a valueset using LOINC Order codes is available [here](valueset-diagnostic-requests.html).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-code"
              }
            }
          },
          {
            "id": "ProcedureRequest.subject",
            "path": "ProcedureRequest.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.context",
            "path": "ProcedureRequest.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.occurrence[x]",
            "path": "ProcedureRequest.occurrence[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Timing"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.asNeeded[x]",
            "path": "ProcedureRequest.asNeeded[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureAsNeededReason"
                }
              ],
              "strength": "example",
              "description": "A coded concept identifying the pre-condition that should hold prior to performing a procedure.  For example \"pain\", \"on flare-up\", etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/medication-as-needed-reason"
              }
            }
          },
          {
            "id": "ProcedureRequest.authoredOn",
            "path": "ProcedureRequest.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.requester",
            "path": "ProcedureRequest.requester",
            "comment": "This not the dispatcher, but rather who is the authorizer.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.requester.agent",
            "path": "ProcedureRequest.requester.agent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.requester.onBehalfOf",
            "path": "ProcedureRequest.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.performerType",
            "path": "ProcedureRequest.performerType",
            "comment": "this is a  role, not  a participation type.  I.e. does not describe the task, but describes the capacity.  For example, “compounding pharmacy” or “psychiatrist” or “internal referral”.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestParticipantRole"
                }
              ],
              "strength": "example",
              "description": "Indicates specific responsibility of an individual within the care team, such as \"Primary physician\", \"Team coordinator\", \"Caregiver\", etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/participant-role"
              }
            }
          },
          {
            "id": "ProcedureRequest.performer",
            "path": "ProcedureRequest.performer",
            "comment": "If needed, use an [extension](extensibility.html) for listing alternative performers and/or roles and/or preference.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.reasonCode",
            "path": "ProcedureRequest.reasonCode",
            "comment": "This may be used to decide how the diagnostic investigation will be performed, or even if it will be performed at all.   Use CodeableConcept text element if the data is free (uncoded) text as shown in the [CT Scan example](procedurerequest-example-di.html).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcedureRequestReason"
                }
              ],
              "strength": "example",
              "description": "Diagnosis or problem codes justifying the reason for requesting the procedure or diagnostic investigation.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/procedure-reason"
              }
            }
          },
          {
            "id": "ProcedureRequest.reasonReference",
            "path": "ProcedureRequest.reasonReference",
            "comment": "This may be used to decide how the diagnostic investigation will be performed, or even if it will be performed at all.   Use CodeableConcept text element if the data is free (uncoded) text as shown in the [CT Scan example](procedurerequest-example-di.html).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.supportingInfo",
            "path": "ProcedureRequest.supportingInfo",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "ProcedureRequest.specimen",
            "path": "ProcedureRequest.specimen",
            "comment": "Many diagnostic procedures need a specimen, but the request itself is not actually about the specimen. This element is for when the diagnostic is requested on already existing specimens and the request points to the specimen it applies to.    Conversely, If the request is entered first with an unknown specimen, The [Specimen](specimen.html) resource references to the ProcedureRequest.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcedureRequest.bodySite",
            "path": "ProcedureRequest.bodySite",
            "comment": "Only used if not implicit in the code found in ProcedureRequest.type.  If the use case requires BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately)  then use the standard extension [procedurerequest-targetBodySite](extension-procedurerequest-targetbodysite.html).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "ProcedureRequest.note",
            "path": "ProcedureRequest.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "ProcedureRequest.relevantHistory",
            "path": "ProcedureRequest.relevantHistory",
            "comment": "This may not include provenances for all versions of the request – only those deemed “relevant” or important.\rThis SHALL NOT include the Provenance associated with this current version of the resource.  (If that provenance is deemed to be a “relevant” change, it will need to be added as part of a later update.  Until then, it can be queried directly as the Provenance that points to this version using _revinclude\rAll Provenances should have some historical version of this Request as their subject.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ProcessRequest",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ProcessRequest",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ProcessRequest",
      "name": "ProcessRequest",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ProcessRequest",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ProcessRequest",
            "path": "ProcessRequest",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ProcessRequest.id",
            "path": "ProcessRequest.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcessRequest.meta",
            "path": "ProcessRequest.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcessRequest.implicitRules",
            "path": "ProcessRequest.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ProcessRequest.language",
            "path": "ProcessRequest.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ProcessRequest.text",
            "path": "ProcessRequest.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ProcessRequest.contained",
            "path": "ProcessRequest.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ProcessRequest.extension",
            "path": "ProcessRequest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ProcessRequest.modifierExtension",
            "path": "ProcessRequest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ProcessRequest.identifier",
            "path": "ProcessRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ProcessRequest.status",
            "path": "ProcessRequest.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcessRequestStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "ProcessRequest.action",
            "path": "ProcessRequest.action",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionList"
                }
              ],
              "strength": "required",
              "description": "List of allowable action which this resource can request.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/actionlist"
              }
            }
          },
          {
            "id": "ProcessRequest.target",
            "path": "ProcessRequest.target",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ProcessRequest.created",
            "path": "ProcessRequest.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ProcessRequest.provider",
            "path": "ProcessRequest.provider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "ProcessRequest.organization",
            "path": "ProcessRequest.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ProcessRequest.request",
            "path": "ProcessRequest.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "ProcessRequest.response",
            "path": "ProcessRequest.response",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "ProcessRequest.nullify",
            "path": "ProcessRequest.nullify",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "ProcessRequest.reference",
            "path": "ProcessRequest.reference",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcessRequest.item",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Items"
              }
            ],
            "path": "ProcessRequest.item",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ProcessRequest.item.id",
            "path": "ProcessRequest.item.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcessRequest.item.extension",
            "path": "ProcessRequest.item.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ProcessRequest.item.modifierExtension",
            "path": "ProcessRequest.item.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ProcessRequest.item.sequenceLinkId",
            "path": "ProcessRequest.item.sequenceLinkId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "ProcessRequest.include",
            "path": "ProcessRequest.include",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcessRequest.exclude",
            "path": "ProcessRequest.exclude",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcessRequest.period",
            "path": "ProcessRequest.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ProcessRequest",
            "path": "ProcessRequest",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ProcessRequest.identifier",
            "path": "ProcessRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ProcessRequest.status",
            "path": "ProcessRequest.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcessRequestStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "ProcessRequest.action",
            "path": "ProcessRequest.action",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionList"
                }
              ],
              "strength": "required",
              "description": "List of allowable action which this resource can request.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/actionlist"
              }
            }
          },
          {
            "id": "ProcessRequest.target",
            "path": "ProcessRequest.target",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ProcessRequest.created",
            "path": "ProcessRequest.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ProcessRequest.provider",
            "path": "ProcessRequest.provider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "ProcessRequest.organization",
            "path": "ProcessRequest.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ProcessRequest.request",
            "path": "ProcessRequest.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "ProcessRequest.response",
            "path": "ProcessRequest.response",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "ProcessRequest.nullify",
            "path": "ProcessRequest.nullify",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "ProcessRequest.reference",
            "path": "ProcessRequest.reference",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcessRequest.item",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Items"
              }
            ],
            "path": "ProcessRequest.item",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ProcessRequest.item.sequenceLinkId",
            "path": "ProcessRequest.item.sequenceLinkId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "ProcessRequest.include",
            "path": "ProcessRequest.include",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcessRequest.exclude",
            "path": "ProcessRequest.exclude",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcessRequest.period",
            "path": "ProcessRequest.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ProcessResponse",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ProcessResponse",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ProcessResponse",
      "name": "ProcessResponse",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ProcessResponse",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ProcessResponse",
            "path": "ProcessResponse",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ProcessResponse.id",
            "path": "ProcessResponse.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcessResponse.meta",
            "path": "ProcessResponse.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ProcessResponse.implicitRules",
            "path": "ProcessResponse.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ProcessResponse.language",
            "path": "ProcessResponse.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ProcessResponse.text",
            "path": "ProcessResponse.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ProcessResponse.contained",
            "path": "ProcessResponse.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ProcessResponse.extension",
            "path": "ProcessResponse.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ProcessResponse.modifierExtension",
            "path": "ProcessResponse.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ProcessResponse.identifier",
            "path": "ProcessResponse.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ProcessResponse.status",
            "path": "ProcessResponse.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcessResponseStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "ProcessResponse.created",
            "path": "ProcessResponse.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ProcessResponse.organization",
            "path": "ProcessResponse.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ProcessResponse.request",
            "path": "ProcessResponse.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "ProcessResponse.outcome",
            "path": "ProcessResponse.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcessingOutcome"
                }
              ],
              "strength": "example",
              "description": "Local status of outcome codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/process-outcome"
              }
            }
          },
          {
            "id": "ProcessResponse.disposition",
            "path": "ProcessResponse.disposition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcessResponse.requestProvider",
            "path": "ProcessResponse.requestProvider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "ProcessResponse.requestOrganization",
            "path": "ProcessResponse.requestOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ProcessResponse.form",
            "path": "ProcessResponse.form",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Forms"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The forms codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/forms"
              }
            }
          },
          {
            "id": "ProcessResponse.processNote",
            "path": "ProcessResponse.processNote",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ProcessResponse.processNote.id",
            "path": "ProcessResponse.processNote.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcessResponse.processNote.extension",
            "path": "ProcessResponse.processNote.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ProcessResponse.processNote.modifierExtension",
            "path": "ProcessResponse.processNote.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ProcessResponse.processNote.type",
            "path": "ProcessResponse.processNote.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NoteType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The presentation types of notes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/note-type"
              }
            }
          },
          {
            "id": "ProcessResponse.processNote.text",
            "path": "ProcessResponse.processNote.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcessResponse.error",
            "path": "ProcessResponse.error",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdjudicationError"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The error codes for adjudication processing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication-error"
              }
            }
          },
          {
            "id": "ProcessResponse.communicationRequest",
            "path": "ProcessResponse.communicationRequest",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CommunicationRequest"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ProcessResponse",
            "path": "ProcessResponse",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ProcessResponse.identifier",
            "path": "ProcessResponse.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "ProcessResponse.status",
            "path": "ProcessResponse.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcessResponseStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "ProcessResponse.created",
            "path": "ProcessResponse.created",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ProcessResponse.organization",
            "path": "ProcessResponse.organization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ProcessResponse.request",
            "path": "ProcessResponse.request",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "ProcessResponse.outcome",
            "path": "ProcessResponse.outcome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProcessingOutcome"
                }
              ],
              "strength": "example",
              "description": "Local status of outcome codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/process-outcome"
              }
            }
          },
          {
            "id": "ProcessResponse.disposition",
            "path": "ProcessResponse.disposition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcessResponse.requestProvider",
            "path": "ProcessResponse.requestProvider",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "ProcessResponse.requestOrganization",
            "path": "ProcessResponse.requestOrganization",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "ProcessResponse.form",
            "path": "ProcessResponse.form",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Forms"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The forms codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/forms"
              }
            }
          },
          {
            "id": "ProcessResponse.processNote",
            "path": "ProcessResponse.processNote",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ProcessResponse.processNote.type",
            "path": "ProcessResponse.processNote.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "NoteType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The presentation types of notes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/note-type"
              }
            }
          },
          {
            "id": "ProcessResponse.processNote.text",
            "path": "ProcessResponse.processNote.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ProcessResponse.error",
            "path": "ProcessResponse.error",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdjudicationError"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "example",
              "description": "The error codes for adjudication processing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/adjudication-error"
              }
            }
          },
          {
            "id": "ProcessResponse.communicationRequest",
            "path": "ProcessResponse.communicationRequest",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CommunicationRequest"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Provenance",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Provenance",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "sec"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Provenance",
      "name": "Provenance",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Provenance",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Provenance",
            "path": "Provenance",
            "comment": "Some parties may be duplicated between the target resource and its provenance.  For instance, the prescriber is usually (but not always) the author of the prescription resource. This resource is defined with close consideration for W3C Provenance.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Provenance.id",
            "path": "Provenance.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Provenance.meta",
            "path": "Provenance.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Provenance.implicitRules",
            "path": "Provenance.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Provenance.language",
            "path": "Provenance.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Provenance.text",
            "path": "Provenance.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Provenance.contained",
            "path": "Provenance.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Provenance.extension",
            "path": "Provenance.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Provenance.modifierExtension",
            "path": "Provenance.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Provenance.target",
            "path": "Provenance.target",
            "comment": "Target references are usually version specific, but may not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource may not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Provenance.period",
            "path": "Provenance.period",
            "comment": "The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Provenance.recorded",
            "path": "Provenance.recorded",
            "comment": "This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Provenance.policy",
            "path": "Provenance.policy",
            "comment": "For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "Provenance.location",
            "path": "Provenance.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Provenance.reason",
            "path": "Provenance.reason",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProvenanceReason"
                }
              ],
              "strength": "extensible",
              "description": "The reason the activity took place.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "Provenance.activity",
            "path": "Provenance.activity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProvenanceActivity"
                }
              ],
              "strength": "extensible",
              "description": "The activity that took place.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/provenance-activity-type"
              }
            }
          },
          {
            "id": "Provenance.agent",
            "path": "Provenance.agent",
            "comment": "Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Provenance.agent.id",
            "path": "Provenance.agent.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Provenance.agent.extension",
            "path": "Provenance.agent.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Provenance.agent.modifierExtension",
            "path": "Provenance.agent.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Provenance.agent.role",
            "path": "Provenance.agent.role",
            "comment": "For example: author, performer, enterer, attester, doctor, nurse, clerk, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProvenanceAgentRole"
                }
              ],
              "strength": "extensible",
              "description": "The role that a provenance agent played with respect to the activity.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-role-type"
              }
            }
          },
          {
            "id": "Provenance.agent.who[x]",
            "path": "Provenance.agent.who[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Provenance.agent.onBehalfOf[x]",
            "path": "Provenance.agent.onBehalfOf[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Provenance.agent.relatedAgentType",
            "path": "Provenance.agent.relatedAgentType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RelatedAgentType"
                }
              ],
              "strength": "example",
              "description": "Type of relationship between two provenance agents.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-RoleLinkType"
              }
            }
          },
          {
            "id": "Provenance.entity",
            "path": "Provenance.entity",
            "comment": "Multiple userIds may be associated with the same Practitioner or other individual across various appearances, each with distinct privileges.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Provenance.entity.id",
            "path": "Provenance.entity.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Provenance.entity.extension",
            "path": "Provenance.entity.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Provenance.entity.modifierExtension",
            "path": "Provenance.entity.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Provenance.entity.role",
            "path": "Provenance.entity.role",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProvenanceEntityRole"
                }
              ],
              "strength": "required",
              "description": "How an entity was used in an activity.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/provenance-entity-role"
              }
            }
          },
          {
            "id": "Provenance.entity.what[x]",
            "path": "Provenance.entity.what[x]",
            "comment": "Identity may be a reference to a resource or to something else, depending on the type.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              },
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Provenance.entity.agent",
            "path": "Provenance.entity.agent",
            "comment": "A usecase where one Provenance.entity.agent is used where the Entity that was used in the creation/updating of the Target, is not in the context of the same custodianship as the Target, and thus the meaning of Provenance.entity.agent is to say that the entity referenced is managed elsewhere and that this Agent provided access to it.  This would be similar to where the Entity being referenced is managed outside FHIR, such as through HL7 v2, v3, or XDS. This might be where the Entity being referenced is managed in another FHIR resource server. Thus it explains the Provenance of that Entity's use in the context of this Provenance activity.",
            "min": 0,
            "max": "*",
            "contentReference": "#Provenance.agent"
          },
          {
            "id": "Provenance.signature",
            "path": "Provenance.signature",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Signature"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Provenance",
            "path": "Provenance",
            "comment": "Some parties may be duplicated between the target resource and its provenance.  For instance, the prescriber is usually (but not always) the author of the prescription resource. This resource is defined with close consideration for W3C Provenance.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Provenance.target",
            "path": "Provenance.target",
            "comment": "Target references are usually version specific, but may not be, if a version has not been assigned or if the provenance information is part of the set of resources being maintained (i.e. a document). When using the RESTful API, the identity of the resource may not be known (especially not the version specific one); the client may either submit the resource first, and then the provenance, or it may submit both using a single transaction. See the notes on transaction for further discussion.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Provenance.period",
            "path": "Provenance.period",
            "comment": "The period can be a little arbitrary; where possible, the time should correspond to human assessment of the activity time.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Provenance.recorded",
            "path": "Provenance.recorded",
            "comment": "This can be a little different from the time stamp on the resource if there is a delay between recording the event and updating the provenance and target resource.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Provenance.policy",
            "path": "Provenance.policy",
            "comment": "For example: Where an OAuth token authorizes, the unique identifier from the OAuth token is placed into the policy element Where a policy engine (e.g. XACML) holds policy logic, the unique policy identifier is placed into the policy element.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "Provenance.location",
            "path": "Provenance.location",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "Provenance.reason",
            "path": "Provenance.reason",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProvenanceReason"
                }
              ],
              "strength": "extensible",
              "description": "The reason the activity took place.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-PurposeOfUse"
              }
            }
          },
          {
            "id": "Provenance.activity",
            "path": "Provenance.activity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProvenanceActivity"
                }
              ],
              "strength": "extensible",
              "description": "The activity that took place.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/provenance-activity-type"
              }
            }
          },
          {
            "id": "Provenance.agent",
            "path": "Provenance.agent",
            "comment": "Several agents may be associated (i.e. has some responsibility for an activity) with an activity and vice-versa.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Provenance.agent.role",
            "path": "Provenance.agent.role",
            "comment": "For example: author, performer, enterer, attester, doctor, nurse, clerk, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProvenanceAgentRole"
                }
              ],
              "strength": "extensible",
              "description": "The role that a provenance agent played with respect to the activity.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/security-role-type"
              }
            }
          },
          {
            "id": "Provenance.agent.who[x]",
            "path": "Provenance.agent.who[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Provenance.agent.onBehalfOf[x]",
            "path": "Provenance.agent.onBehalfOf[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Provenance.agent.relatedAgentType",
            "path": "Provenance.agent.relatedAgentType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RelatedAgentType"
                }
              ],
              "strength": "example",
              "description": "Type of relationship between two provenance agents.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v3-RoleLinkType"
              }
            }
          },
          {
            "id": "Provenance.entity",
            "path": "Provenance.entity",
            "comment": "Multiple userIds may be associated with the same Practitioner or other individual across various appearances, each with distinct privileges.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Provenance.entity.role",
            "path": "Provenance.entity.role",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ProvenanceEntityRole"
                }
              ],
              "strength": "required",
              "description": "How an entity was used in an activity.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/provenance-entity-role"
              }
            }
          },
          {
            "id": "Provenance.entity.what[x]",
            "path": "Provenance.entity.what[x]",
            "comment": "Identity may be a reference to a resource or to something else, depending on the type.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              },
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Provenance.entity.agent",
            "path": "Provenance.entity.agent",
            "comment": "A usecase where one Provenance.entity.agent is used where the Entity that was used in the creation/updating of the Target, is not in the context of the same custodianship as the Target, and thus the meaning of Provenance.entity.agent is to say that the entity referenced is managed elsewhere and that this Agent provided access to it.  This would be similar to where the Entity being referenced is managed outside FHIR, such as through HL7 v2, v3, or XDS. This might be where the Entity being referenced is managed in another FHIR resource server. Thus it explains the Provenance of that Entity's use in the context of this Provenance activity.",
            "min": 0,
            "max": "*",
            "contentReference": "#Provenance.agent"
          },
          {
            "id": "Provenance.signature",
            "path": "Provenance.signature",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Signature"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Questionnaire",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Questionnaire",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Questionnaire",
      "name": "Questionnaire",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "To support structured, hierarchical registration of data gathered using digital forms and other questionnaires.  Questionnaires provide greater control over presentation and allow capture of data in a domain-independent way (i.e. capturing information that would otherwise require multiple distinct types of resources).",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Questionnaire",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Questionnaire",
            "path": "Questionnaire",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "que-2",
                "severity": "error",
                "human": "The link ids for groups and questions must be unique within the questionnaire",
                "expression": "descendants().linkId.isDistinct()",
                "xpath": "count(descendant::f:linkId/@value)=count(distinct-values(descendant::f:linkId/@value))"
              }
            ]
          },
          {
            "id": "Questionnaire.id",
            "path": "Questionnaire.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.meta",
            "path": "Questionnaire.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.implicitRules",
            "path": "Questionnaire.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Questionnaire.language",
            "path": "Questionnaire.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Questionnaire.text",
            "path": "Questionnaire.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Questionnaire.contained",
            "path": "Questionnaire.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Questionnaire.extension",
            "path": "Questionnaire.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Questionnaire.modifierExtension",
            "path": "Questionnaire.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Questionnaire.url",
            "path": "Questionnaire.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.identifier",
            "path": "Questionnaire.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this questionnaire outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.version",
            "path": "Questionnaire.version",
            "comment": "There may be different questionnaire instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the questionnaire with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.name",
            "path": "Questionnaire.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.title",
            "path": "Questionnaire.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.status",
            "path": "Questionnaire.status",
            "comment": "Allows filtering of questionnaires that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired questionnaire without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "Questionnaire.experimental",
            "path": "Questionnaire.experimental",
            "comment": "Allows filtering of questionnaire that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental questionnaire in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Questionnaire.date",
            "path": "Questionnaire.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the questionnaire. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.publisher",
            "path": "Questionnaire.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the questionnaire is the organization or individual primarily responsible for the maintenance and upkeep of the questionnaire. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the questionnaire. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.description",
            "path": "Questionnaire.description",
            "comment": "This description can be used to capture details such as why the questionnaire was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the questionnaire as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Questionnaire.purpose",
            "path": "Questionnaire.purpose",
            "comment": "This element does not describe the usage of the questionnaire Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this questionnaire.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Questionnaire.approvalDate",
            "path": "Questionnaire.approvalDate",
            "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Questionnaire.lastReviewDate",
            "path": "Questionnaire.lastReviewDate",
            "comment": "If specified, this is usually after the approval date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Questionnaire.effectivePeriod",
            "path": "Questionnaire.effectivePeriod",
            "comment": "The effective period for a questionnaire  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.useContext",
            "path": "Questionnaire.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.jurisdiction",
            "path": "Questionnaire.jurisdiction",
            "comment": "It may be possible for the questionnaire to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "Questionnaire.contact",
            "path": "Questionnaire.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.copyright",
            "path": "Questionnaire.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Questionnaire.code",
            "path": "Questionnaire.code",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireConcept"
                }
              ],
              "strength": "example",
              "description": "Codes for questionnaires, groups and individual questions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-questions"
              }
            }
          },
          {
            "id": "Questionnaire.subjectType",
            "path": "Questionnaire.subjectType",
            "comment": "If none are specified, then the subject is unlimited.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "Questionnaire.item",
            "path": "Questionnaire.item",
            "comment": "The content of the questionnaire is constructed from an ordered, hierarchical collection of items.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "que-3"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "que-9",
                "severity": "error",
                "human": "Read-only can't be specified for \"display\" items",
                "expression": "type!='display' or readOnly.empty()",
                "xpath": "not(f:type/@value='display' and f:readOnly)"
              },
              {
                "key": "que-8",
                "severity": "error",
                "human": "Default values can't be specified for groups or display items",
                "expression": "(type!='group' and type!='display') or initial.empty()",
                "xpath": "not(f:type/@value=('group', 'display') and f:*[starts-with(local-name(.), 'initial')])"
              },
              {
                "key": "que-6",
                "severity": "error",
                "human": "Required and repeat aren't permitted for display items",
                "expression": "type!='display' or (required.empty() and repeats.empty())",
                "xpath": "not(f:type/@value='display' and (f:required or f:repeats))"
              },
              {
                "key": "que-5",
                "severity": "error",
                "human": "Only 'choice' items can have options",
                "expression": "(type ='choice' or type = 'open-choice') or (options.empty() and option.empty())",
                "xpath": "f:type/@value=('choice','open-choice') or not(f:option or f:options)"
              },
              {
                "key": "que-4",
                "severity": "error",
                "human": "A question cannot have both option and options",
                "expression": "option.empty() or options.empty()",
                "xpath": "not(f:options and f:option)"
              },
              {
                "key": "que-3",
                "severity": "error",
                "human": "Display items cannot have a \"code\" asserted",
                "expression": "type!='display' or code.empty()",
                "xpath": "not(f:type/@value='display' and f:code)"
              },
              {
                "key": "que-10",
                "severity": "error",
                "human": "Maximum length can only be declared for simple question types",
                "expression": "(type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url')) or maxLength.empty()",
                "xpath": "f:type/@value=('boolean', 'decimal', 'integer', 'open-choice', 'string', 'text', 'url') or not(f:maxLength)"
              },
              {
                "key": "que-1",
                "severity": "error",
                "human": "Group items must have nested items, display items cannot have nested items",
                "expression": "(type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())",
                "xpath": "not((f:type/@value='group' and not(f:item)) or (f:type/@value='display' and f:item))"
              }
            ]
          },
          {
            "id": "Questionnaire.item.id",
            "path": "Questionnaire.item.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Questionnaire.item.extension",
            "path": "Questionnaire.item.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Questionnaire.item.modifierExtension",
            "path": "Questionnaire.item.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Questionnaire.item.linkId",
            "path": "Questionnaire.item.linkId",
            "comment": "This ''can'' be a meaningful identifier (e.g. a LOINC code) but is not intended to have any meaning.  GUIDs or sequential numbers are appropriate here.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Questionnaire.item.definition",
            "path": "Questionnaire.item.definition",
            "comment": "the URI refers to an ElementDefinition in either a [StructureDefinition](structuredefinition.html#) or a [DataElement](dataelement.html#), and always starts with the canonical URL for the target resource. When referring to a StructureDefinition, a fragment identifier is used to specify the element definition by its id [Element.id](element-definitions.html#Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. In the absence of a fragment identifier, the first/root element definition in the target is the matching element definition. Note that [LOINC codes](loinc.html#dataelements) implicitly define DataElement resources.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "Questionnaire.item.code",
            "path": "Questionnaire.item.code",
            "comment": "The value may come from the ElementDefinition referred to by .definition.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "condition": [
              "que-3"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireConcept"
                }
              ],
              "strength": "example",
              "description": "Codes for questionnaires, groups and individual questions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-questions"
              }
            }
          },
          {
            "id": "Questionnaire.item.prefix",
            "path": "Questionnaire.item.prefix",
            "comment": "These are generally unique within a questionnaire, though this is not guaranteed. Some questionnaires may have multiple questions with the same label with logic to control which gets exposed.\n\nTypically these won't be used for \"display\" items, though such use is not prohibited.\n\nSystems SHOULD NOT generate their own prefixes if prefixes are defined for any items within a Questionnaire.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Questionnaire.item.text",
            "path": "Questionnaire.item.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.item.type",
            "path": "Questionnaire.item.type",
            "comment": "Additional constraints on the type of answer can be conveyed by extensions. The value may come from the ElementDefinition referred to by .definition.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireItemType"
                }
              ],
              "strength": "required",
              "description": "Distinguishes groups from questions and display text and indicates data type for questions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/item-type"
              }
            }
          },
          {
            "id": "Questionnaire.item.enableWhen",
            "path": "Questionnaire.item.enableWhen",
            "comment": "If multiple repetitions of this extension are present, the item should be enabled when the condition for *any* of the repetitions is true.  I.e. treat \"enableWhen\"s as being joined by an \"or\" clause.\n\nThis element is a modifier because if enableWhen is present for an item, \"required\" is ignored unless one of the enableWhen conditions is met.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "que-7",
                "severity": "error",
                "human": "enableWhen must contain either a 'answer' or a 'hasAnswer' element",
                "expression": "hasAnswer.exists() xor answer.exists()",
                "xpath": "count(f:*[starts-with(local-name(.), 'answer')]|self::f:hasAnswer) = 1"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Questionnaire.item.enableWhen.id",
            "path": "Questionnaire.item.enableWhen.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Questionnaire.item.enableWhen.extension",
            "path": "Questionnaire.item.enableWhen.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Questionnaire.item.enableWhen.modifierExtension",
            "path": "Questionnaire.item.enableWhen.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Questionnaire.item.enableWhen.question",
            "path": "Questionnaire.item.enableWhen.question",
            "comment": "If multiple question occurrences are present for the same question (same linkId), then this refers to the nearest question occurrence reachable by tracing first the \"ancestor\" axis and then the \"preceding\" axis and then the \"following\" axis.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Questionnaire.item.enableWhen.hasAnswer",
            "path": "Questionnaire.item.enableWhen.hasAnswer",
            "comment": "If answered=false and answer values are also provided, then they are treated as \"or\".  I.e. \"Enable if the question is unanswered or the answer is one of the specified values\".  If answered=true and answers are present, one of the specified answers must be met. (So there's little reason to specify answered=true if answers are present.).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "condition": [
              "que-7"
            ]
          },
          {
            "id": "Questionnaire.item.enableWhen.answer[x]",
            "path": "Questionnaire.item.enableWhen.answer[x]",
            "comment": "Multiple answers are treated as \"or\".  E.g. Enable if question 1 = A, C or E.  \n\nComponents not specified in the answer do not need to match.  For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a \"display\" element.  I.e. treat the answer as a 'pattern'.\n\nThe dataType of this element must be the same as the data type of the question being referenced.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "decimal"
              },
              {
                "code": "integer"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "time"
              },
              {
                "code": "string"
              },
              {
                "code": "uri"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Coding"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "condition": [
              "que-7"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireQuestionOption2"
                }
              ],
              "strength": "example",
              "description": "Allowed values to answer questions.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers"
              }
            }
          },
          {
            "id": "Questionnaire.item.required",
            "path": "Questionnaire.item.required",
            "comment": "Questionnaire.item.required only has meaning for elements that are conditionally enabled with enableWhen if the condition evaluates to true.  If an item that contains other items is marked as required, that does not automatically make the contained elements required (though required groups must contain at least one child element). The value may come from the ElementDefinition referred to by .definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "condition": [
              "que-6"
            ]
          },
          {
            "id": "Questionnaire.item.repeats",
            "path": "Questionnaire.item.repeats",
            "comment": "If a question is marked as repeats=true, then multiple answers can be provided for the question in the corresponding QuestionnaireResponse.  When rendering the questionnaire, it is up to the rendering software whether to render the question text for each answer repetition or to simply list each of the answers beneath the question.  (Which is most appropriate visually may depend on the type of answer as well as whether there are nested items.). The value may come from the ElementDefinition referred to by .definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "condition": [
              "que-6"
            ]
          },
          {
            "id": "Questionnaire.item.readOnly",
            "path": "Questionnaire.item.readOnly",
            "comment": "The value of readOnly elements can be established by asserting  extensions for defaultValues, linkages that support pre-population and/or extensions that support calculation based on other answers.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "condition": [
              "que-9"
            ]
          },
          {
            "id": "Questionnaire.item.maxLength",
            "path": "Questionnaire.item.maxLength",
            "comment": "For base64binary, reflects the number of characters representing the encoded data, not the number of bytes of the binary data. The value may come from the ElementDefinition referred to by .definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "condition": [
              "que-10"
            ]
          },
          {
            "id": "Questionnaire.item.options",
            "path": "Questionnaire.item.options",
            "comment": "LOINC defines many useful value sets for questionnaire responses. See [LOINC Answer Lists](loinc.html#alist). The value may come from the ElementDefinition referred to by .definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ValueSet"
              }
            ],
            "condition": [
              "que-4",
              "que-5"
            ]
          },
          {
            "id": "Questionnaire.item.option",
            "path": "Questionnaire.item.option",
            "comment": "This element can be used when the value set machinery of options is deemed too cumbersome or when there's a need to capture options that are not codes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "que-4",
              "que-5"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Questionnaire.item.option.id",
            "path": "Questionnaire.item.option.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Questionnaire.item.option.extension",
            "path": "Questionnaire.item.option.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Questionnaire.item.option.modifierExtension",
            "path": "Questionnaire.item.option.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Questionnaire.item.option.value[x]",
            "path": "Questionnaire.item.option.value[x]",
            "comment": "The data type of the value must agree with the item.type.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              },
              {
                "code": "date"
              },
              {
                "code": "time"
              },
              {
                "code": "string"
              },
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireQuestionOption"
                }
              ],
              "strength": "example",
              "description": "Allowed values to answer questions.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers"
              }
            }
          },
          {
            "id": "Questionnaire.item.initial[x]",
            "path": "Questionnaire.item.initial[x]",
            "comment": "The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created.  Note that default values can influence results.\n\nThe data type of initial[x] must agree with the item.type.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "decimal"
              },
              {
                "code": "integer"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "time"
              },
              {
                "code": "string"
              },
              {
                "code": "uri"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Coding"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "condition": [
              "que-8"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireQuestionOption2"
                }
              ],
              "strength": "example",
              "description": "Allowed values to answer questions.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers"
              }
            }
          },
          {
            "id": "Questionnaire.item.item",
            "path": "Questionnaire.item.item",
            "comment": "There is no specified limit to the depth of nesting.  However, Questionnaire authors are encouraged to consider the impact on the user and user interface of overly deep nesting.",
            "min": 0,
            "max": "*",
            "contentReference": "#Questionnaire.item",
            "condition": [
              "que-1"
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Questionnaire",
            "path": "Questionnaire",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "que-2",
                "severity": "error",
                "human": "The link ids for groups and questions must be unique within the questionnaire",
                "expression": "descendants().linkId.isDistinct()",
                "xpath": "count(descendant::f:linkId/@value)=count(distinct-values(descendant::f:linkId/@value))"
              }
            ]
          },
          {
            "id": "Questionnaire.url",
            "path": "Questionnaire.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.identifier",
            "path": "Questionnaire.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this questionnaire outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.version",
            "path": "Questionnaire.version",
            "comment": "There may be different questionnaire instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the questionnaire with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.name",
            "path": "Questionnaire.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.title",
            "path": "Questionnaire.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.status",
            "path": "Questionnaire.status",
            "comment": "Allows filtering of questionnaires that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired questionnaire without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "Questionnaire.experimental",
            "path": "Questionnaire.experimental",
            "comment": "Allows filtering of questionnaire that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental questionnaire in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Questionnaire.date",
            "path": "Questionnaire.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the questionnaire. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.publisher",
            "path": "Questionnaire.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the questionnaire is the organization or individual primarily responsible for the maintenance and upkeep of the questionnaire. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the questionnaire. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.description",
            "path": "Questionnaire.description",
            "comment": "This description can be used to capture details such as why the questionnaire was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the questionnaire as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Questionnaire.purpose",
            "path": "Questionnaire.purpose",
            "comment": "This element does not describe the usage of the questionnaire Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this questionnaire.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Questionnaire.approvalDate",
            "path": "Questionnaire.approvalDate",
            "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Questionnaire.lastReviewDate",
            "path": "Questionnaire.lastReviewDate",
            "comment": "If specified, this is usually after the approval date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "Questionnaire.effectivePeriod",
            "path": "Questionnaire.effectivePeriod",
            "comment": "The effective period for a questionnaire  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.useContext",
            "path": "Questionnaire.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.jurisdiction",
            "path": "Questionnaire.jurisdiction",
            "comment": "It may be possible for the questionnaire to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "Questionnaire.contact",
            "path": "Questionnaire.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.copyright",
            "path": "Questionnaire.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "Questionnaire.code",
            "path": "Questionnaire.code",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireConcept"
                }
              ],
              "strength": "example",
              "description": "Codes for questionnaires, groups and individual questions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-questions"
              }
            }
          },
          {
            "id": "Questionnaire.subjectType",
            "path": "Questionnaire.subjectType",
            "comment": "If none are specified, then the subject is unlimited.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "Questionnaire.item",
            "path": "Questionnaire.item",
            "comment": "The content of the questionnaire is constructed from an ordered, hierarchical collection of items.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "que-3"
            ],
            "constraint": [
              {
                "key": "que-9",
                "severity": "error",
                "human": "Read-only can't be specified for \"display\" items",
                "expression": "type!='display' or readOnly.empty()",
                "xpath": "not(f:type/@value='display' and f:readOnly)"
              },
              {
                "key": "que-8",
                "severity": "error",
                "human": "Default values can't be specified for groups or display items",
                "expression": "(type!='group' and type!='display') or initial.empty()",
                "xpath": "not(f:type/@value=('group', 'display') and f:*[starts-with(local-name(.), 'initial')])"
              },
              {
                "key": "que-6",
                "severity": "error",
                "human": "Required and repeat aren't permitted for display items",
                "expression": "type!='display' or (required.empty() and repeats.empty())",
                "xpath": "not(f:type/@value='display' and (f:required or f:repeats))"
              },
              {
                "key": "que-5",
                "severity": "error",
                "human": "Only 'choice' items can have options",
                "expression": "(type ='choice' or type = 'open-choice') or (options.empty() and option.empty())",
                "xpath": "f:type/@value=('choice','open-choice') or not(f:option or f:options)"
              },
              {
                "key": "que-4",
                "severity": "error",
                "human": "A question cannot have both option and options",
                "expression": "option.empty() or options.empty()",
                "xpath": "not(f:options and f:option)"
              },
              {
                "key": "que-3",
                "severity": "error",
                "human": "Display items cannot have a \"code\" asserted",
                "expression": "type!='display' or code.empty()",
                "xpath": "not(f:type/@value='display' and f:code)"
              },
              {
                "key": "que-10",
                "severity": "error",
                "human": "Maximum length can only be declared for simple question types",
                "expression": "(type in ('boolean' | 'decimal' | 'integer' | 'string' | 'text' | 'url')) or maxLength.empty()",
                "xpath": "f:type/@value=('boolean', 'decimal', 'integer', 'open-choice', 'string', 'text', 'url') or not(f:maxLength)"
              },
              {
                "key": "que-1",
                "severity": "error",
                "human": "Group items must have nested items, display items cannot have nested items",
                "expression": "(type='group' implies item.empty().not()) and (type.trace('type')='display' implies item.trace('item').empty())",
                "xpath": "not((f:type/@value='group' and not(f:item)) or (f:type/@value='display' and f:item))"
              }
            ]
          },
          {
            "id": "Questionnaire.item.linkId",
            "path": "Questionnaire.item.linkId",
            "comment": "This ''can'' be a meaningful identifier (e.g. a LOINC code) but is not intended to have any meaning.  GUIDs or sequential numbers are appropriate here.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Questionnaire.item.definition",
            "path": "Questionnaire.item.definition",
            "comment": "the URI refers to an ElementDefinition in either a [StructureDefinition](structuredefinition.html#) or a [DataElement](dataelement.html#), and always starts with the canonical URL for the target resource. When referring to a StructureDefinition, a fragment identifier is used to specify the element definition by its id [Element.id](element-definitions.html#Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x]. In the absence of a fragment identifier, the first/root element definition in the target is the matching element definition. Note that [LOINC codes](loinc.html#dataelements) implicitly define DataElement resources.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "Questionnaire.item.code",
            "path": "Questionnaire.item.code",
            "comment": "The value may come from the ElementDefinition referred to by .definition.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "condition": [
              "que-3"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireConcept"
                }
              ],
              "strength": "example",
              "description": "Codes for questionnaires, groups and individual questions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-questions"
              }
            }
          },
          {
            "id": "Questionnaire.item.prefix",
            "path": "Questionnaire.item.prefix",
            "comment": "These are generally unique within a questionnaire, though this is not guaranteed. Some questionnaires may have multiple questions with the same label with logic to control which gets exposed.\n\nTypically these won't be used for \"display\" items, though such use is not prohibited.\n\nSystems SHOULD NOT generate their own prefixes if prefixes are defined for any items within a Questionnaire.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Questionnaire.item.text",
            "path": "Questionnaire.item.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Questionnaire.item.type",
            "path": "Questionnaire.item.type",
            "comment": "Additional constraints on the type of answer can be conveyed by extensions. The value may come from the ElementDefinition referred to by .definition.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireItemType"
                }
              ],
              "strength": "required",
              "description": "Distinguishes groups from questions and display text and indicates data type for questions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/item-type"
              }
            }
          },
          {
            "id": "Questionnaire.item.enableWhen",
            "path": "Questionnaire.item.enableWhen",
            "comment": "If multiple repetitions of this extension are present, the item should be enabled when the condition for *any* of the repetitions is true.  I.e. treat \"enableWhen\"s as being joined by an \"or\" clause.\n\nThis element is a modifier because if enableWhen is present for an item, \"required\" is ignored unless one of the enableWhen conditions is met.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "que-7",
                "severity": "error",
                "human": "enableWhen must contain either a 'answer' or a 'hasAnswer' element",
                "expression": "hasAnswer.exists() xor answer.exists()",
                "xpath": "count(f:*[starts-with(local-name(.), 'answer')]|self::f:hasAnswer) = 1"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Questionnaire.item.enableWhen.question",
            "path": "Questionnaire.item.enableWhen.question",
            "comment": "If multiple question occurrences are present for the same question (same linkId), then this refers to the nearest question occurrence reachable by tracing first the \"ancestor\" axis and then the \"preceding\" axis and then the \"following\" axis.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Questionnaire.item.enableWhen.hasAnswer",
            "path": "Questionnaire.item.enableWhen.hasAnswer",
            "comment": "If answered=false and answer values are also provided, then they are treated as \"or\".  I.e. \"Enable if the question is unanswered or the answer is one of the specified values\".  If answered=true and answers are present, one of the specified answers must be met. (So there's little reason to specify answered=true if answers are present.).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "condition": [
              "que-7"
            ]
          },
          {
            "id": "Questionnaire.item.enableWhen.answer[x]",
            "path": "Questionnaire.item.enableWhen.answer[x]",
            "comment": "Multiple answers are treated as \"or\".  E.g. Enable if question 1 = A, C or E.  \n\nComponents not specified in the answer do not need to match.  For example, if enableWhen specifies code + system for a Coding, it is ok if the answer has a \"display\" element.  I.e. treat the answer as a 'pattern'.\n\nThe dataType of this element must be the same as the data type of the question being referenced.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "decimal"
              },
              {
                "code": "integer"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "time"
              },
              {
                "code": "string"
              },
              {
                "code": "uri"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Coding"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "condition": [
              "que-7"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireQuestionOption2"
                }
              ],
              "strength": "example",
              "description": "Allowed values to answer questions.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers"
              }
            }
          },
          {
            "id": "Questionnaire.item.required",
            "path": "Questionnaire.item.required",
            "comment": "Questionnaire.item.required only has meaning for elements that are conditionally enabled with enableWhen if the condition evaluates to true.  If an item that contains other items is marked as required, that does not automatically make the contained elements required (though required groups must contain at least one child element). The value may come from the ElementDefinition referred to by .definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "condition": [
              "que-6"
            ]
          },
          {
            "id": "Questionnaire.item.repeats",
            "path": "Questionnaire.item.repeats",
            "comment": "If a question is marked as repeats=true, then multiple answers can be provided for the question in the corresponding QuestionnaireResponse.  When rendering the questionnaire, it is up to the rendering software whether to render the question text for each answer repetition or to simply list each of the answers beneath the question.  (Which is most appropriate visually may depend on the type of answer as well as whether there are nested items.). The value may come from the ElementDefinition referred to by .definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false,
            "condition": [
              "que-6"
            ]
          },
          {
            "id": "Questionnaire.item.readOnly",
            "path": "Questionnaire.item.readOnly",
            "comment": "The value of readOnly elements can be established by asserting  extensions for defaultValues, linkages that support pre-population and/or extensions that support calculation based on other answers.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "condition": [
              "que-9"
            ]
          },
          {
            "id": "Questionnaire.item.maxLength",
            "path": "Questionnaire.item.maxLength",
            "comment": "For base64binary, reflects the number of characters representing the encoded data, not the number of bytes of the binary data. The value may come from the ElementDefinition referred to by .definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "condition": [
              "que-10"
            ]
          },
          {
            "id": "Questionnaire.item.options",
            "path": "Questionnaire.item.options",
            "comment": "LOINC defines many useful value sets for questionnaire responses. See [LOINC Answer Lists](loinc.html#alist). The value may come from the ElementDefinition referred to by .definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ValueSet"
              }
            ],
            "condition": [
              "que-4",
              "que-5"
            ]
          },
          {
            "id": "Questionnaire.item.option",
            "path": "Questionnaire.item.option",
            "comment": "This element can be used when the value set machinery of options is deemed too cumbersome or when there's a need to capture options that are not codes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "que-4",
              "que-5"
            ]
          },
          {
            "id": "Questionnaire.item.option.value[x]",
            "path": "Questionnaire.item.option.value[x]",
            "comment": "The data type of the value must agree with the item.type.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              },
              {
                "code": "date"
              },
              {
                "code": "time"
              },
              {
                "code": "string"
              },
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireQuestionOption"
                }
              ],
              "strength": "example",
              "description": "Allowed values to answer questions.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers"
              }
            }
          },
          {
            "id": "Questionnaire.item.initial[x]",
            "path": "Questionnaire.item.initial[x]",
            "comment": "The user is allowed to change the value and override the default (unless marked as read-only). If the user doesn't change the value, then this initial value will be persisted when the QuestionnaireResponse is initially created.  Note that default values can influence results.\n\nThe data type of initial[x] must agree with the item.type.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "decimal"
              },
              {
                "code": "integer"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "time"
              },
              {
                "code": "string"
              },
              {
                "code": "uri"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Coding"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "condition": [
              "que-8"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireQuestionOption2"
                }
              ],
              "strength": "example",
              "description": "Allowed values to answer questions.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers"
              }
            }
          },
          {
            "id": "Questionnaire.item.item",
            "path": "Questionnaire.item.item",
            "comment": "There is no specified limit to the depth of nesting.  However, Questionnaire authors are encouraged to consider the impact on the user and user interface of overly deep nesting.",
            "min": 0,
            "max": "*",
            "contentReference": "#Questionnaire.item",
            "condition": [
              "que-1"
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "QuestionnaireResponse",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse",
      "name": "QuestionnaireResponse",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "To support structured, hierarchical reporting of data gathered using digital forms and other questionnaires.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "QuestionnaireResponse",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "QuestionnaireResponse",
            "path": "QuestionnaireResponse",
            "comment": "The QuestionnaireResponse contains enough information about the questions asked and their organization that it can be interpreted somewhat independently from the Questionnaire it is based on.  I.e. You don't need access to the Questionnaire in order to extract basic information from a QuestionnaireResponse.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.id",
            "path": "QuestionnaireResponse.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.meta",
            "path": "QuestionnaireResponse.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.implicitRules",
            "path": "QuestionnaireResponse.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.language",
            "path": "QuestionnaireResponse.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "QuestionnaireResponse.text",
            "path": "QuestionnaireResponse.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "QuestionnaireResponse.contained",
            "path": "QuestionnaireResponse.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.extension",
            "path": "QuestionnaireResponse.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.modifierExtension",
            "path": "QuestionnaireResponse.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "QuestionnaireResponse.identifier",
            "path": "QuestionnaireResponse.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.basedOn",
            "path": "QuestionnaireResponse.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.parent",
            "path": "QuestionnaireResponse.parent",
            "comment": "Composition of questionnaire responses will be handled by the parent questionnaire having answers that reference the child questionnaire.  For relationships to referrals, and other types of requests, use basedOn.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.questionnaire",
            "path": "QuestionnaireResponse.questionnaire",
            "comment": "If a QuestionnaireResponse references a Questionnaire, then the QuestionnaireResponse structure must be consistent with the Questionnaire (i.e. questions must be organized into the same groups, nested questions must still be nested, etc.).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Questionnaire"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.status",
            "path": "QuestionnaireResponse.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireResponseStatus"
                }
              ],
              "strength": "required",
              "description": "Lifecycle status of the questionnaire response.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers-status"
              }
            }
          },
          {
            "id": "QuestionnaireResponse.subject",
            "path": "QuestionnaireResponse.subject",
            "comment": "If the Questionnaire declared a subjectType, the resource pointed to by this element must be an instance of one of the listed types.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.context",
            "path": "QuestionnaireResponse.context",
            "comment": "A questionnaire that was initiated during an encounter but not fully completed during the encounter would still generally be associated with the encounter.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.authored",
            "path": "QuestionnaireResponse.authored",
            "comment": "May be different from the lastUpdateTime of the resource itself, because that reflects when the data was known to the server, not when the data was captured.\n\nThis element is optional to allow for systems that may not know the value, however it SHOULD be populated if possible.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.author",
            "path": "QuestionnaireResponse.author",
            "comment": "Mapping a subject's answers to multiple choice options and determining what to put in the textual answer is a matter of interpretation.  Authoring by device would indicate that some portion of the questionnaire had been auto-populated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.source",
            "path": "QuestionnaireResponse.source",
            "comment": "If not specified, no inference can be made about who provided the data.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.item",
            "path": "QuestionnaireResponse.item",
            "comment": "Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "qrs-1",
                "severity": "error",
                "human": "Nested item can't be beneath both item and answer",
                "expression": "(answer.exists() and item.exists()).not()",
                "xpath": "not(exists(f:answer) and exists(f:item))"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.id",
            "path": "QuestionnaireResponse.item.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.extension",
            "path": "QuestionnaireResponse.item.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.modifierExtension",
            "path": "QuestionnaireResponse.item.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.item.linkId",
            "path": "QuestionnaireResponse.item.linkId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.definition",
            "path": "QuestionnaireResponse.item.definition",
            "comment": "The ElementDefinition must be in a [StructureDefinition](structuredefinition.html) or a [DataElement](dataelement.html), and must have a fragment identifier that identifies the specific data element by its id (Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x].\n\nThere is no need for this element if the item pointed to by the linkId has a definition listed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.text",
            "path": "QuestionnaireResponse.item.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.subject",
            "path": "QuestionnaireResponse.item.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.answer",
            "path": "QuestionnaireResponse.item.answer",
            "comment": "The value is nested because we cannot have a repeating structure that has variable type.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.answer.id",
            "path": "QuestionnaireResponse.item.answer.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.answer.extension",
            "path": "QuestionnaireResponse.item.answer.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.answer.modifierExtension",
            "path": "QuestionnaireResponse.item.answer.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.item.answer.value[x]",
            "path": "QuestionnaireResponse.item.answer.value[x]",
            "comment": "More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type.  Additional complex types can be introduced through extensions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "decimal"
              },
              {
                "code": "integer"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "time"
              },
              {
                "code": "string"
              },
              {
                "code": "uri"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Coding"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireAnswer"
                }
              ],
              "strength": "example",
              "description": "Code indicating the response provided for a question.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers"
              }
            }
          },
          {
            "id": "QuestionnaireResponse.item.answer.item",
            "path": "QuestionnaireResponse.item.answer.item",
            "min": 0,
            "max": "*",
            "contentReference": "#QuestionnaireResponse.item"
          },
          {
            "id": "QuestionnaireResponse.item.item",
            "path": "QuestionnaireResponse.item.item",
            "min": 0,
            "max": "*",
            "contentReference": "#QuestionnaireResponse.item"
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "QuestionnaireResponse",
            "path": "QuestionnaireResponse",
            "comment": "The QuestionnaireResponse contains enough information about the questions asked and their organization that it can be interpreted somewhat independently from the Questionnaire it is based on.  I.e. You don't need access to the Questionnaire in order to extract basic information from a QuestionnaireResponse.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "QuestionnaireResponse.identifier",
            "path": "QuestionnaireResponse.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.basedOn",
            "path": "QuestionnaireResponse.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.parent",
            "path": "QuestionnaireResponse.parent",
            "comment": "Composition of questionnaire responses will be handled by the parent questionnaire having answers that reference the child questionnaire.  For relationships to referrals, and other types of requests, use basedOn.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Procedure"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.questionnaire",
            "path": "QuestionnaireResponse.questionnaire",
            "comment": "If a QuestionnaireResponse references a Questionnaire, then the QuestionnaireResponse structure must be consistent with the Questionnaire (i.e. questions must be organized into the same groups, nested questions must still be nested, etc.).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Questionnaire"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.status",
            "path": "QuestionnaireResponse.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireResponseStatus"
                }
              ],
              "strength": "required",
              "description": "Lifecycle status of the questionnaire response.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers-status"
              }
            }
          },
          {
            "id": "QuestionnaireResponse.subject",
            "path": "QuestionnaireResponse.subject",
            "comment": "If the Questionnaire declared a subjectType, the resource pointed to by this element must be an instance of one of the listed types.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.context",
            "path": "QuestionnaireResponse.context",
            "comment": "A questionnaire that was initiated during an encounter but not fully completed during the encounter would still generally be associated with the encounter.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.authored",
            "path": "QuestionnaireResponse.authored",
            "comment": "May be different from the lastUpdateTime of the resource itself, because that reflects when the data was known to the server, not when the data was captured.\n\nThis element is optional to allow for systems that may not know the value, however it SHOULD be populated if possible.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.author",
            "path": "QuestionnaireResponse.author",
            "comment": "Mapping a subject's answers to multiple choice options and determining what to put in the textual answer is a matter of interpretation.  Authoring by device would indicate that some portion of the questionnaire had been auto-populated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.source",
            "path": "QuestionnaireResponse.source",
            "comment": "If not specified, no inference can be made about who provided the data.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "QuestionnaireResponse.item",
            "path": "QuestionnaireResponse.item",
            "comment": "Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "qrs-1",
                "severity": "error",
                "human": "Nested item can't be beneath both item and answer",
                "expression": "(answer.exists() and item.exists()).not()",
                "xpath": "not(exists(f:answer) and exists(f:item))"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.linkId",
            "path": "QuestionnaireResponse.item.linkId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.definition",
            "path": "QuestionnaireResponse.item.definition",
            "comment": "The ElementDefinition must be in a [StructureDefinition](structuredefinition.html) or a [DataElement](dataelement.html), and must have a fragment identifier that identifies the specific data element by its id (Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x].\n\nThere is no need for this element if the item pointed to by the linkId has a definition listed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.text",
            "path": "QuestionnaireResponse.item.text",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.subject",
            "path": "QuestionnaireResponse.item.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.answer",
            "path": "QuestionnaireResponse.item.answer",
            "comment": "The value is nested because we cannot have a repeating structure that has variable type.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "QuestionnaireResponse.item.answer.value[x]",
            "path": "QuestionnaireResponse.item.answer.value[x]",
            "comment": "More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type.  Additional complex types can be introduced through extensions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              },
              {
                "code": "decimal"
              },
              {
                "code": "integer"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "time"
              },
              {
                "code": "string"
              },
              {
                "code": "uri"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "Coding"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "QuestionnaireAnswer"
                }
              ],
              "strength": "example",
              "description": "Code indicating the response provided for a question.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/questionnaire-answers"
              }
            }
          },
          {
            "id": "QuestionnaireResponse.item.answer.item",
            "path": "QuestionnaireResponse.item.answer.item",
            "min": 0,
            "max": "*",
            "contentReference": "#QuestionnaireResponse.item"
          },
          {
            "id": "QuestionnaireResponse.item.item",
            "path": "QuestionnaireResponse.item.item",
            "min": 0,
            "max": "*",
            "contentReference": "#QuestionnaireResponse.item"
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ReferralRequest",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ReferralRequest",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pc"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ReferralRequest",
      "name": "ReferralRequest",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ReferralRequest",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ReferralRequest",
            "path": "ReferralRequest",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ReferralRequest.id",
            "path": "ReferralRequest.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.meta",
            "path": "ReferralRequest.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.implicitRules",
            "path": "ReferralRequest.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.language",
            "path": "ReferralRequest.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ReferralRequest.text",
            "path": "ReferralRequest.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ReferralRequest.contained",
            "path": "ReferralRequest.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ReferralRequest.extension",
            "path": "ReferralRequest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ReferralRequest.modifierExtension",
            "path": "ReferralRequest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ReferralRequest.identifier",
            "path": "ReferralRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.definition",
            "path": "ReferralRequest.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.basedOn",
            "path": "ReferralRequest.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.replaces",
            "path": "ReferralRequest.replaces",
            "comment": "The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.groupIdentifier",
            "path": "ReferralRequest.groupIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.status",
            "path": "ReferralRequest.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralRequestStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the referral.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-status"
              }
            }
          },
          {
            "id": "ReferralRequest.intent",
            "path": "ReferralRequest.intent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralCategory"
                }
              ],
              "strength": "required",
              "description": "Codes identifying the stage lifecycle stage of a request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-intent"
              }
            }
          },
          {
            "id": "ReferralRequest.type",
            "path": "ReferralRequest.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isModifier": false,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralType"
                }
              ],
              "strength": "example",
              "description": "Codes for types of referral; e.g. consult, transfer, temporary transfer.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/referral-type"
              }
            }
          },
          {
            "id": "ReferralRequest.priority",
            "path": "ReferralRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": false,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralPriority"
                }
              ],
              "strength": "required",
              "description": "Codes indicating the relative priority of the referral.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "ReferralRequest.serviceRequested",
            "path": "ReferralRequest.serviceRequested",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isModifier": false,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestedService"
                }
              ],
              "strength": "example",
              "description": "Codes indicating the types of services that might be requested as part of a referral.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "ReferralRequest.subject",
            "path": "ReferralRequest.subject",
            "comment": "Referral of family, group or community is to be catered for by profiles.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.context",
            "path": "ReferralRequest.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.occurrence[x]",
            "path": "ReferralRequest.occurrence[x]",
            "comment": "When the occurrenceDateTime is used, then it is indicating that the requested service must happen before the specified date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.authoredOn",
            "path": "ReferralRequest.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.requester",
            "path": "ReferralRequest.requester",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "rfr-1",
                "severity": "error",
                "human": "onBehalfOf can only be specified if agent is practitioner or device",
                "expression": "(agent.resolve() is Device) or (agent.resolve() is Practitioner) or onBehalfOf.exists().not()",
                "xpath": "contains(f:agent/f:reference/@value, '/Practitioner/') or contains(f:agent/f:reference/@value, '/Device/') or not(exists(f:onBehalfOf))"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.requester.id",
            "path": "ReferralRequest.requester.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ReferralRequest.requester.extension",
            "path": "ReferralRequest.requester.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ReferralRequest.requester.modifierExtension",
            "path": "ReferralRequest.requester.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.requester.agent",
            "path": "ReferralRequest.requester.agent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.requester.onBehalfOf",
            "path": "ReferralRequest.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "condition": [
              "rfr-1"
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.specialty",
            "path": "ReferralRequest.specialty",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isModifier": false,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralSpecialty"
                }
              ],
              "strength": "example",
              "description": "Codes indicating the types of capability the referred to service provider must have.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/practitioner-specialty"
              }
            }
          },
          {
            "id": "ReferralRequest.recipient",
            "path": "ReferralRequest.recipient",
            "comment": "There will be a primary receiver. But the request can be received by any number of \"copied to\" providers or organizations.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.reasonCode",
            "path": "ReferralRequest.reasonCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isModifier": false,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralReason"
                }
              ],
              "strength": "example",
              "description": "Codes indicating why the referral is being requested.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "ReferralRequest.reasonReference",
            "path": "ReferralRequest.reasonReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.description",
            "path": "ReferralRequest.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isModifier": false
          },
          {
            "id": "ReferralRequest.supportingInfo",
            "path": "ReferralRequest.supportingInfo",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isModifier": false
          },
          {
            "id": "ReferralRequest.note",
            "path": "ReferralRequest.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "ReferralRequest.relevantHistory",
            "path": "ReferralRequest.relevantHistory",
            "comment": "This element does not point to the Provenance associated with the *current* version of the resource - as it would be created after this version existed.  The Provenance for the current version can be retrieved with a _revinclude.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ReferralRequest",
            "path": "ReferralRequest",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ReferralRequest.identifier",
            "path": "ReferralRequest.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.definition",
            "path": "ReferralRequest.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.basedOn",
            "path": "ReferralRequest.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CarePlan"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.replaces",
            "path": "ReferralRequest.replaces",
            "comment": "The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ReferralRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.groupIdentifier",
            "path": "ReferralRequest.groupIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.status",
            "path": "ReferralRequest.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralRequestStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the referral.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-status"
              }
            }
          },
          {
            "id": "ReferralRequest.intent",
            "path": "ReferralRequest.intent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralCategory"
                }
              ],
              "strength": "required",
              "description": "Codes identifying the stage lifecycle stage of a request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-intent"
              }
            }
          },
          {
            "id": "ReferralRequest.type",
            "path": "ReferralRequest.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isModifier": false,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralType"
                }
              ],
              "strength": "example",
              "description": "Codes for types of referral; e.g. consult, transfer, temporary transfer.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/referral-type"
              }
            }
          },
          {
            "id": "ReferralRequest.priority",
            "path": "ReferralRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": false,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralPriority"
                }
              ],
              "strength": "required",
              "description": "Codes indicating the relative priority of the referral.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "ReferralRequest.serviceRequested",
            "path": "ReferralRequest.serviceRequested",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isModifier": false,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestedService"
                }
              ],
              "strength": "example",
              "description": "Codes indicating the types of services that might be requested as part of a referral.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "ReferralRequest.subject",
            "path": "ReferralRequest.subject",
            "comment": "Referral of family, group or community is to be catered for by profiles.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.context",
            "path": "ReferralRequest.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.occurrence[x]",
            "path": "ReferralRequest.occurrence[x]",
            "comment": "When the occurrenceDateTime is used, then it is indicating that the requested service must happen before the specified date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.authoredOn",
            "path": "ReferralRequest.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.requester",
            "path": "ReferralRequest.requester",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "rfr-1",
                "severity": "error",
                "human": "onBehalfOf can only be specified if agent is practitioner or device",
                "expression": "(agent.resolve() is Device) or (agent.resolve() is Practitioner) or onBehalfOf.exists().not()",
                "xpath": "contains(f:agent/f:reference/@value, '/Practitioner/') or contains(f:agent/f:reference/@value, '/Device/') or not(exists(f:onBehalfOf))"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.requester.agent",
            "path": "ReferralRequest.requester.agent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.requester.onBehalfOf",
            "path": "ReferralRequest.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "condition": [
              "rfr-1"
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.specialty",
            "path": "ReferralRequest.specialty",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isModifier": false,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralSpecialty"
                }
              ],
              "strength": "example",
              "description": "Codes indicating the types of capability the referred to service provider must have.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/practitioner-specialty"
              }
            }
          },
          {
            "id": "ReferralRequest.recipient",
            "path": "ReferralRequest.recipient",
            "comment": "There will be a primary receiver. But the request can be received by any number of \"copied to\" providers or organizations.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              }
            ],
            "isModifier": false,
            "isSummary": true
          },
          {
            "id": "ReferralRequest.reasonCode",
            "path": "ReferralRequest.reasonCode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isModifier": false,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ReferralReason"
                }
              ],
              "strength": "example",
              "description": "Codes indicating why the referral is being requested.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/clinical-findings"
              }
            }
          },
          {
            "id": "ReferralRequest.reasonReference",
            "path": "ReferralRequest.reasonReference",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ReferralRequest.description",
            "path": "ReferralRequest.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isModifier": false
          },
          {
            "id": "ReferralRequest.supportingInfo",
            "path": "ReferralRequest.supportingInfo",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isModifier": false
          },
          {
            "id": "ReferralRequest.note",
            "path": "ReferralRequest.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "ReferralRequest.relevantHistory",
            "path": "ReferralRequest.relevantHistory",
            "comment": "This element does not point to the Provenance associated with the *current* version of the resource - as it would be created after this version existed.  The Provenance for the current version can be retrieved with a _revinclude.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "RelatedPerson",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
      "name": "RelatedPerson",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "purpose": "Need to track persons related to the patient or the healthcare process.",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "RelatedPerson",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "RelatedPerson",
            "path": "RelatedPerson",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "RelatedPerson.id",
            "path": "RelatedPerson.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.meta",
            "path": "RelatedPerson.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.implicitRules",
            "path": "RelatedPerson.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "RelatedPerson.language",
            "path": "RelatedPerson.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "RelatedPerson.text",
            "path": "RelatedPerson.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "RelatedPerson.contained",
            "path": "RelatedPerson.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "RelatedPerson.extension",
            "path": "RelatedPerson.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "RelatedPerson.modifierExtension",
            "path": "RelatedPerson.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "RelatedPerson.identifier",
            "path": "RelatedPerson.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.active",
            "path": "RelatedPerson.active",
            "comment": "This element is labeled as a modifier because it may be used to mark that the resource was created in error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "RelatedPerson.patient",
            "path": "RelatedPerson.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.relationship",
            "path": "RelatedPerson.relationship",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PatientRelationshipType"
                }
              ],
              "strength": "preferred",
              "description": "The nature of the relationship between a patient and the related person",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype"
              }
            }
          },
          {
            "id": "RelatedPerson.name",
            "path": "RelatedPerson.name",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "HumanName"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.telecom",
            "path": "RelatedPerson.telecom",
            "comment": "Person may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently, and also to help with identification.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.gender",
            "path": "RelatedPerson.gender",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdministrativeGender"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The gender of a person used for administrative purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
              }
            }
          },
          {
            "id": "RelatedPerson.birthDate",
            "path": "RelatedPerson.birthDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.address",
            "path": "RelatedPerson.address",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Address"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.photo",
            "path": "RelatedPerson.photo",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          },
          {
            "id": "RelatedPerson.period",
            "path": "RelatedPerson.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "RelatedPerson",
            "path": "RelatedPerson",
            "min": 0,
            "max": "*"
          },
          {
            "id": "RelatedPerson.identifier",
            "path": "RelatedPerson.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.active",
            "path": "RelatedPerson.active",
            "comment": "This element is labeled as a modifier because it may be used to mark that the resource was created in error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "RelatedPerson.patient",
            "path": "RelatedPerson.patient",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.relationship",
            "path": "RelatedPerson.relationship",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PatientRelationshipType"
                }
              ],
              "strength": "preferred",
              "description": "The nature of the relationship between a patient and the related person",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/relatedperson-relationshiptype"
              }
            }
          },
          {
            "id": "RelatedPerson.name",
            "path": "RelatedPerson.name",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "HumanName"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.telecom",
            "path": "RelatedPerson.telecom",
            "comment": "Person may have multiple ways to be contacted with different uses or applicable periods.  May need to have options for contacting the person urgently, and also to help with identification.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.gender",
            "path": "RelatedPerson.gender",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AdministrativeGender"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The gender of a person used for administrative purposes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/administrative-gender"
              }
            }
          },
          {
            "id": "RelatedPerson.birthDate",
            "path": "RelatedPerson.birthDate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.address",
            "path": "RelatedPerson.address",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Address"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RelatedPerson.photo",
            "path": "RelatedPerson.photo",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Attachment"
              }
            ]
          },
          {
            "id": "RelatedPerson.period",
            "path": "RelatedPerson.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/RequestGroup",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "RequestGroup",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "cds"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/RequestGroup",
      "name": "RequestGroup",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "RequestGroup",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "RequestGroup",
            "path": "RequestGroup",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "RequestGroup.id",
            "path": "RequestGroup.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RequestGroup.meta",
            "path": "RequestGroup.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RequestGroup.implicitRules",
            "path": "RequestGroup.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "RequestGroup.language",
            "path": "RequestGroup.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "RequestGroup.text",
            "path": "RequestGroup.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "RequestGroup.contained",
            "path": "RequestGroup.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "RequestGroup.extension",
            "path": "RequestGroup.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "RequestGroup.modifierExtension",
            "path": "RequestGroup.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "RequestGroup.identifier",
            "path": "RequestGroup.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RequestGroup.definition",
            "path": "RequestGroup.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RequestGroup.basedOn",
            "path": "RequestGroup.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RequestGroup.replaces",
            "path": "RequestGroup.replaces",
            "comment": "The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RequestGroup.groupIdentifier",
            "path": "RequestGroup.groupIdentifier",
            "comment": "Requests are linked either by a \"basedOn\" relationship (i.e. one request is fulfilling another) or by having a common requisition.  Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RequestGroup.status",
            "path": "RequestGroup.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestStatus"
                }
              ],
              "strength": "required",
              "description": "Codes identifying the stage lifecycle stage of a request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-status"
              }
            }
          },
          {
            "id": "RequestGroup.intent",
            "path": "RequestGroup.intent",
            "comment": "This element is labeled as a modifier because the intent alters when and how the resource is actually applicable.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestIntent"
                }
              ],
              "strength": "required",
              "description": "Codes indicating the degree of authority/intentionality associated with a request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-intent"
              }
            }
          },
          {
            "id": "RequestGroup.priority",
            "path": "RequestGroup.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "If missing, this request should be performed with normal priority",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestPriority"
                }
              ],
              "strength": "required",
              "description": "Identifies the level of importance to be assigned to actioning the request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "RequestGroup.subject",
            "path": "RequestGroup.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ]
          },
          {
            "id": "RequestGroup.context",
            "path": "RequestGroup.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ]
          },
          {
            "id": "RequestGroup.authoredOn",
            "path": "RequestGroup.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "RequestGroup.author",
            "path": "RequestGroup.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "RequestGroup.reason[x]",
            "path": "RequestGroup.reason[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RequestGroup.note",
            "path": "RequestGroup.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "RequestGroup.action",
            "path": "RequestGroup.action",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "rqg-1",
                "severity": "error",
                "human": "Must have resource or action but not both",
                "expression": "resource.exists() != action.exists()",
                "xpath": "exists(f:resource) != exists(f:action)"
              }
            ]
          },
          {
            "id": "RequestGroup.action.id",
            "path": "RequestGroup.action.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.extension",
            "path": "RequestGroup.action.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "RequestGroup.action.modifierExtension",
            "path": "RequestGroup.action.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "RequestGroup.action.label",
            "path": "RequestGroup.action.label",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.title",
            "path": "RequestGroup.action.title",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.description",
            "path": "RequestGroup.action.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RequestGroup.action.textEquivalent",
            "path": "RequestGroup.action.textEquivalent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RequestGroup.action.code",
            "path": "RequestGroup.action.code",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ]
          },
          {
            "id": "RequestGroup.action.documentation",
            "path": "RequestGroup.action.documentation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "RequestGroup.action.condition",
            "path": "RequestGroup.action.condition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "RequestGroup.action.condition.id",
            "path": "RequestGroup.action.condition.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.condition.extension",
            "path": "RequestGroup.action.condition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "RequestGroup.action.condition.modifierExtension",
            "path": "RequestGroup.action.condition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "RequestGroup.action.condition.kind",
            "path": "RequestGroup.action.condition.kind",
            "comment": "Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe when enter/exit criteria for an action.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionConditionKind"
                }
              ],
              "strength": "required",
              "description": "The kind of condition for the action",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-condition-kind"
              }
            }
          },
          {
            "id": "RequestGroup.action.condition.description",
            "path": "RequestGroup.action.condition.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.condition.language",
            "path": "RequestGroup.action.condition.language",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.condition.expression",
            "path": "RequestGroup.action.condition.expression",
            "comment": "The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.relatedAction",
            "path": "RequestGroup.action.relatedAction",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "RequestGroup.action.relatedAction.id",
            "path": "RequestGroup.action.relatedAction.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.relatedAction.extension",
            "path": "RequestGroup.action.relatedAction.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "RequestGroup.action.relatedAction.modifierExtension",
            "path": "RequestGroup.action.relatedAction.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "RequestGroup.action.relatedAction.actionId",
            "path": "RequestGroup.action.relatedAction.actionId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "RequestGroup.action.relatedAction.relationship",
            "path": "RequestGroup.action.relatedAction.relationship",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionRelationshipType"
                }
              ],
              "strength": "required",
              "description": "Defines the types of relationships between actions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-relationship-type"
              }
            }
          },
          {
            "id": "RequestGroup.action.relatedAction.offset[x]",
            "path": "RequestGroup.action.relatedAction.offset[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Duration"
              },
              {
                "code": "Range"
              }
            ]
          },
          {
            "id": "RequestGroup.action.timing[x]",
            "path": "RequestGroup.action.timing[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Duration"
              },
              {
                "code": "Range"
              },
              {
                "code": "Timing"
              }
            ]
          },
          {
            "id": "RequestGroup.action.participant",
            "path": "RequestGroup.action.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Person"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "RequestGroup.action.type",
            "path": "RequestGroup.action.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionType"
                }
              ],
              "strength": "extensible",
              "description": "The type of action to be performed",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-type"
              }
            }
          },
          {
            "id": "RequestGroup.action.groupingBehavior",
            "path": "RequestGroup.action.groupingBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionGroupingBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines organization behavior of a group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-grouping-behavior"
              }
            }
          },
          {
            "id": "RequestGroup.action.selectionBehavior",
            "path": "RequestGroup.action.selectionBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionSelectionBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines selection behavior of a group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-selection-behavior"
              }
            }
          },
          {
            "id": "RequestGroup.action.requiredBehavior",
            "path": "RequestGroup.action.requiredBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionRequiredBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines requiredness behavior for selecting an action or an action group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-required-behavior"
              }
            }
          },
          {
            "id": "RequestGroup.action.precheckBehavior",
            "path": "RequestGroup.action.precheckBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionPrecheckBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines selection frequency behavior for an action or group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-precheck-behavior"
              }
            }
          },
          {
            "id": "RequestGroup.action.cardinalityBehavior",
            "path": "RequestGroup.action.cardinalityBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionCardinalityBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines behavior for an action or a group for how many times that item may be repeated",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-cardinality-behavior"
              }
            }
          },
          {
            "id": "RequestGroup.action.resource",
            "path": "RequestGroup.action.resource",
            "comment": "The target resource SHALL be a [Request](request.html) resource with a Request.intent set to \"option\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "condition": [
              "rqg-1"
            ]
          },
          {
            "id": "RequestGroup.action.action",
            "path": "RequestGroup.action.action",
            "min": 0,
            "max": "*",
            "contentReference": "#RequestGroup.action",
            "condition": [
              "rqg-1"
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "RequestGroup",
            "path": "RequestGroup",
            "min": 0,
            "max": "*"
          },
          {
            "id": "RequestGroup.identifier",
            "path": "RequestGroup.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RequestGroup.definition",
            "path": "RequestGroup.definition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RequestGroup.basedOn",
            "path": "RequestGroup.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RequestGroup.replaces",
            "path": "RequestGroup.replaces",
            "comment": "The replacement could be because the initial request was immediately rejected (due to an issue) or because the previous request was completed, but the need for the action described by the request remains ongoing.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RequestGroup.groupIdentifier",
            "path": "RequestGroup.groupIdentifier",
            "comment": "Requests are linked either by a \"basedOn\" relationship (i.e. one request is fulfilling another) or by having a common requisition.  Requests that are part of the same requisition are generally treated independently from the perspective of changing their state or maintaining them after initial creation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RequestGroup.status",
            "path": "RequestGroup.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestStatus"
                }
              ],
              "strength": "required",
              "description": "Codes identifying the stage lifecycle stage of a request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-status"
              }
            }
          },
          {
            "id": "RequestGroup.intent",
            "path": "RequestGroup.intent",
            "comment": "This element is labeled as a modifier because the intent alters when and how the resource is actually applicable.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestIntent"
                }
              ],
              "strength": "required",
              "description": "Codes indicating the degree of authority/intentionality associated with a request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-intent"
              }
            }
          },
          {
            "id": "RequestGroup.priority",
            "path": "RequestGroup.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "If missing, this request should be performed with normal priority",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestPriority"
                }
              ],
              "strength": "required",
              "description": "Identifies the level of importance to be assigned to actioning the request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "RequestGroup.subject",
            "path": "RequestGroup.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ]
          },
          {
            "id": "RequestGroup.context",
            "path": "RequestGroup.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ]
          },
          {
            "id": "RequestGroup.authoredOn",
            "path": "RequestGroup.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "RequestGroup.author",
            "path": "RequestGroup.author",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "RequestGroup.reason[x]",
            "path": "RequestGroup.reason[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RequestGroup.note",
            "path": "RequestGroup.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "RequestGroup.action",
            "path": "RequestGroup.action",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "rqg-1",
                "severity": "error",
                "human": "Must have resource or action but not both",
                "expression": "resource.exists() != action.exists()",
                "xpath": "exists(f:resource) != exists(f:action)"
              }
            ]
          },
          {
            "id": "RequestGroup.action.label",
            "path": "RequestGroup.action.label",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.title",
            "path": "RequestGroup.action.title",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.description",
            "path": "RequestGroup.action.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RequestGroup.action.textEquivalent",
            "path": "RequestGroup.action.textEquivalent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RequestGroup.action.code",
            "path": "RequestGroup.action.code",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ]
          },
          {
            "id": "RequestGroup.action.documentation",
            "path": "RequestGroup.action.documentation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "RequestGroup.action.condition",
            "path": "RequestGroup.action.condition",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "RequestGroup.action.condition.kind",
            "path": "RequestGroup.action.condition.kind",
            "comment": "Applicability criteria are used to determine immediate applicability when a plan definition is applied to a given context. Start and stop criteria are carried through application and used to describe when enter/exit criteria for an action.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionConditionKind"
                }
              ],
              "strength": "required",
              "description": "The kind of condition for the action",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-condition-kind"
              }
            }
          },
          {
            "id": "RequestGroup.action.condition.description",
            "path": "RequestGroup.action.condition.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.condition.language",
            "path": "RequestGroup.action.condition.language",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.condition.expression",
            "path": "RequestGroup.action.condition.expression",
            "comment": "The expression may be inlined, or may be a reference to a named expression within a logic library referenced by the library element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RequestGroup.action.relatedAction",
            "path": "RequestGroup.action.relatedAction",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "RequestGroup.action.relatedAction.actionId",
            "path": "RequestGroup.action.relatedAction.actionId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "RequestGroup.action.relatedAction.relationship",
            "path": "RequestGroup.action.relatedAction.relationship",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionRelationshipType"
                }
              ],
              "strength": "required",
              "description": "Defines the types of relationships between actions",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-relationship-type"
              }
            }
          },
          {
            "id": "RequestGroup.action.relatedAction.offset[x]",
            "path": "RequestGroup.action.relatedAction.offset[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Duration"
              },
              {
                "code": "Range"
              }
            ]
          },
          {
            "id": "RequestGroup.action.timing[x]",
            "path": "RequestGroup.action.timing[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Duration"
              },
              {
                "code": "Range"
              },
              {
                "code": "Timing"
              }
            ]
          },
          {
            "id": "RequestGroup.action.participant",
            "path": "RequestGroup.action.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Person"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ]
          },
          {
            "id": "RequestGroup.action.type",
            "path": "RequestGroup.action.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionType"
                }
              ],
              "strength": "extensible",
              "description": "The type of action to be performed",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-type"
              }
            }
          },
          {
            "id": "RequestGroup.action.groupingBehavior",
            "path": "RequestGroup.action.groupingBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionGroupingBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines organization behavior of a group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-grouping-behavior"
              }
            }
          },
          {
            "id": "RequestGroup.action.selectionBehavior",
            "path": "RequestGroup.action.selectionBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionSelectionBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines selection behavior of a group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-selection-behavior"
              }
            }
          },
          {
            "id": "RequestGroup.action.requiredBehavior",
            "path": "RequestGroup.action.requiredBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionRequiredBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines requiredness behavior for selecting an action or an action group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-required-behavior"
              }
            }
          },
          {
            "id": "RequestGroup.action.precheckBehavior",
            "path": "RequestGroup.action.precheckBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionPrecheckBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines selection frequency behavior for an action or group",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-precheck-behavior"
              }
            }
          },
          {
            "id": "RequestGroup.action.cardinalityBehavior",
            "path": "RequestGroup.action.cardinalityBehavior",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ActionCardinalityBehavior"
                }
              ],
              "strength": "required",
              "description": "Defines behavior for an action or a group for how many times that item may be repeated",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/action-cardinality-behavior"
              }
            }
          },
          {
            "id": "RequestGroup.action.resource",
            "path": "RequestGroup.action.resource",
            "comment": "The target resource SHALL be a [Request](request.html) resource with a Request.intent set to \"option\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "condition": [
              "rqg-1"
            ]
          },
          {
            "id": "RequestGroup.action.action",
            "path": "RequestGroup.action.action",
            "min": 0,
            "max": "*",
            "contentReference": "#RequestGroup.action",
            "condition": [
              "rqg-1"
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ResearchStudy",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ResearchStudy",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "rcrim"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ResearchStudy",
      "name": "ResearchStudy",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ResearchStudy",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ResearchStudy",
            "path": "ResearchStudy",
            "comment": "Need to make sure we encompass public health studies.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ResearchStudy.id",
            "path": "ResearchStudy.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.meta",
            "path": "ResearchStudy.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.implicitRules",
            "path": "ResearchStudy.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ResearchStudy.language",
            "path": "ResearchStudy.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ResearchStudy.text",
            "path": "ResearchStudy.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ResearchStudy.contained",
            "path": "ResearchStudy.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ResearchStudy.extension",
            "path": "ResearchStudy.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ResearchStudy.modifierExtension",
            "path": "ResearchStudy.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ResearchStudy.identifier",
            "path": "ResearchStudy.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.title",
            "path": "ResearchStudy.title",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.protocol",
            "path": "ResearchStudy.protocol",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.partOf",
            "path": "ResearchStudy.partOf",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ResearchStudy"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.status",
            "path": "ResearchStudy.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResearchStudyStatus"
                }
              ],
              "strength": "required",
              "description": "Codes that convey the current status of the research study",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/research-study-status"
              }
            }
          },
          {
            "id": "ResearchStudy.category",
            "path": "ResearchStudy.category",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResearchStudyCategory"
                }
              ],
              "strength": "example",
              "description": "Codes that describe the type of research study.  E.g. Study phase, Interventional/Observational, blinding type, etc."
            }
          },
          {
            "id": "ResearchStudy.focus",
            "path": "ResearchStudy.focus",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResearchStudyFocus"
                }
              ],
              "strength": "example",
              "description": "Codes for medications, devices, conditions and other interventions"
            }
          },
          {
            "id": "ResearchStudy.contact",
            "path": "ResearchStudy.contact",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.relatedArtifact",
            "path": "ResearchStudy.relatedArtifact",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "ResearchStudy.keyword",
            "path": "ResearchStudy.keyword",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResearchStudyKeyword"
                }
              ],
              "strength": "example",
              "description": "Words associated with the study that may be useful in discovery"
            }
          },
          {
            "id": "ResearchStudy.jurisdiction",
            "path": "ResearchStudy.jurisdiction",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ResearchStudy.description",
            "path": "ResearchStudy.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ResearchStudy.enrollment",
            "path": "ResearchStudy.enrollment",
            "comment": "The Group referenced should not generally enumerate specific subjects.  Subjects will be linked to the study using the ResearchSubject resource.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.period",
            "path": "ResearchStudy.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.sponsor",
            "path": "ResearchStudy.sponsor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.principalInvestigator",
            "path": "ResearchStudy.principalInvestigator",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.site",
            "path": "ResearchStudy.site",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.reasonStopped",
            "path": "ResearchStudy.reasonStopped",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.note",
            "path": "ResearchStudy.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "ResearchStudy.arm",
            "path": "ResearchStudy.arm",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ResearchStudy.arm.id",
            "path": "ResearchStudy.arm.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ResearchStudy.arm.extension",
            "path": "ResearchStudy.arm.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ResearchStudy.arm.modifierExtension",
            "path": "ResearchStudy.arm.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ResearchStudy.arm.name",
            "path": "ResearchStudy.arm.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ResearchStudy.arm.code",
            "path": "ResearchStudy.arm.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ]
          },
          {
            "id": "ResearchStudy.arm.description",
            "path": "ResearchStudy.arm.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ResearchStudy",
            "path": "ResearchStudy",
            "comment": "Need to make sure we encompass public health studies.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ResearchStudy.identifier",
            "path": "ResearchStudy.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.title",
            "path": "ResearchStudy.title",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.protocol",
            "path": "ResearchStudy.protocol",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PlanDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.partOf",
            "path": "ResearchStudy.partOf",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ResearchStudy"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.status",
            "path": "ResearchStudy.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResearchStudyStatus"
                }
              ],
              "strength": "required",
              "description": "Codes that convey the current status of the research study",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/research-study-status"
              }
            }
          },
          {
            "id": "ResearchStudy.category",
            "path": "ResearchStudy.category",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResearchStudyCategory"
                }
              ],
              "strength": "example",
              "description": "Codes that describe the type of research study.  E.g. Study phase, Interventional/Observational, blinding type, etc."
            }
          },
          {
            "id": "ResearchStudy.focus",
            "path": "ResearchStudy.focus",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResearchStudyFocus"
                }
              ],
              "strength": "example",
              "description": "Codes for medications, devices, conditions and other interventions"
            }
          },
          {
            "id": "ResearchStudy.contact",
            "path": "ResearchStudy.contact",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.relatedArtifact",
            "path": "ResearchStudy.relatedArtifact",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "ResearchStudy.keyword",
            "path": "ResearchStudy.keyword",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResearchStudyKeyword"
                }
              ],
              "strength": "example",
              "description": "Words associated with the study that may be useful in discovery"
            }
          },
          {
            "id": "ResearchStudy.jurisdiction",
            "path": "ResearchStudy.jurisdiction",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ResearchStudy.description",
            "path": "ResearchStudy.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ResearchStudy.enrollment",
            "path": "ResearchStudy.enrollment",
            "comment": "The Group referenced should not generally enumerate specific subjects.  Subjects will be linked to the study using the ResearchSubject resource.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.period",
            "path": "ResearchStudy.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.sponsor",
            "path": "ResearchStudy.sponsor",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.principalInvestigator",
            "path": "ResearchStudy.principalInvestigator",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.site",
            "path": "ResearchStudy.site",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.reasonStopped",
            "path": "ResearchStudy.reasonStopped",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchStudy.note",
            "path": "ResearchStudy.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "ResearchStudy.arm",
            "path": "ResearchStudy.arm",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ResearchStudy.arm.name",
            "path": "ResearchStudy.arm.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ResearchStudy.arm.code",
            "path": "ResearchStudy.arm.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ]
          },
          {
            "id": "ResearchStudy.arm.description",
            "path": "ResearchStudy.arm.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ResearchSubject",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ResearchSubject",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "rcrim"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ResearchSubject",
      "name": "ResearchSubject",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ResearchSubject",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ResearchSubject",
            "path": "ResearchSubject",
            "comment": "Need to make sure we encompass public health studies.",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ResearchSubject.id",
            "path": "ResearchSubject.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchSubject.meta",
            "path": "ResearchSubject.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchSubject.implicitRules",
            "path": "ResearchSubject.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ResearchSubject.language",
            "path": "ResearchSubject.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ResearchSubject.text",
            "path": "ResearchSubject.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ResearchSubject.contained",
            "path": "ResearchSubject.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ResearchSubject.extension",
            "path": "ResearchSubject.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ResearchSubject.modifierExtension",
            "path": "ResearchSubject.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ResearchSubject.identifier",
            "path": "ResearchSubject.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchSubject.status",
            "path": "ResearchSubject.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResearchSubjectStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates the progression of a study subject through a study",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/research-subject-status"
              }
            }
          },
          {
            "id": "ResearchSubject.period",
            "path": "ResearchSubject.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchSubject.study",
            "path": "ResearchSubject.study",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ResearchStudy"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchSubject.individual",
            "path": "ResearchSubject.individual",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchSubject.assignedArm",
            "path": "ResearchSubject.assignedArm",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ResearchSubject.actualArm",
            "path": "ResearchSubject.actualArm",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ResearchSubject.consent",
            "path": "ResearchSubject.consent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Consent"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ResearchSubject",
            "path": "ResearchSubject",
            "comment": "Need to make sure we encompass public health studies.",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ResearchSubject.identifier",
            "path": "ResearchSubject.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchSubject.status",
            "path": "ResearchSubject.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResearchSubjectStatus"
                }
              ],
              "strength": "required",
              "description": "Indicates the progression of a study subject through a study",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/research-subject-status"
              }
            }
          },
          {
            "id": "ResearchSubject.period",
            "path": "ResearchSubject.period",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchSubject.study",
            "path": "ResearchSubject.study",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ResearchStudy"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchSubject.individual",
            "path": "ResearchSubject.individual",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ResearchSubject.assignedArm",
            "path": "ResearchSubject.assignedArm",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ResearchSubject.actualArm",
            "path": "ResearchSubject.actualArm",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ResearchSubject.consent",
            "path": "ResearchSubject.consent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Consent"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/RiskAssessment",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "RiskAssessment",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "cds"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/RiskAssessment",
      "name": "RiskAssessment",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "RiskAssessment",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "RiskAssessment",
            "path": "RiskAssessment",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "RiskAssessment.id",
            "path": "RiskAssessment.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.meta",
            "path": "RiskAssessment.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.implicitRules",
            "path": "RiskAssessment.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "RiskAssessment.language",
            "path": "RiskAssessment.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "RiskAssessment.text",
            "path": "RiskAssessment.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "RiskAssessment.contained",
            "path": "RiskAssessment.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "RiskAssessment.extension",
            "path": "RiskAssessment.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "RiskAssessment.modifierExtension",
            "path": "RiskAssessment.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "RiskAssessment.identifier",
            "path": "RiskAssessment.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.basedOn",
            "path": "RiskAssessment.basedOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RiskAssessment.parent",
            "path": "RiskAssessment.parent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RiskAssessment.status",
            "path": "RiskAssessment.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RiskAssessmentStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the risk assessment; e.g. preliminary, final, amended, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-status"
              }
            }
          },
          {
            "id": "RiskAssessment.method",
            "path": "RiskAssessment.method",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RiskAssessmentMethod"
                }
              ],
              "strength": "example",
              "description": "The mechanism or algorithm used to make the assessment; e.g. TIMI, PRISM, Cardiff Type 2 diabetes, etc."
            }
          },
          {
            "id": "RiskAssessment.code",
            "path": "RiskAssessment.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.subject",
            "path": "RiskAssessment.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.context",
            "path": "RiskAssessment.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.occurrence[x]",
            "path": "RiskAssessment.occurrence[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.condition",
            "path": "RiskAssessment.condition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.performer",
            "path": "RiskAssessment.performer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.reason[x]",
            "path": "RiskAssessment.reason[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RiskAssessment.basis",
            "path": "RiskAssessment.basis",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RiskAssessment.prediction",
            "path": "RiskAssessment.prediction",
            "comment": "Multiple repetitions can be used to identify the same type of outcome in different timeframes as well as different types of outcomes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "ras-2",
                "severity": "error",
                "human": "Must be <= 100",
                "expression": "probability is decimal implies probability.as(decimal) <= 100",
                "xpath": "not(f:probabilityDecimal) or f:probabilityDecimal/@value <= 100"
              }
            ]
          },
          {
            "id": "RiskAssessment.prediction.id",
            "path": "RiskAssessment.prediction.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RiskAssessment.prediction.extension",
            "path": "RiskAssessment.prediction.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "RiskAssessment.prediction.modifierExtension",
            "path": "RiskAssessment.prediction.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "RiskAssessment.prediction.outcome",
            "path": "RiskAssessment.prediction.outcome",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RiskAssessmentOutcome"
                }
              ],
              "strength": "example",
              "description": "The condition or other outcome; e.g. death, remission, amputation, infection, etc."
            }
          },
          {
            "id": "RiskAssessment.prediction.probability[x]",
            "path": "RiskAssessment.prediction.probability[x]",
            "comment": "If range is used, it represents the lower and upper bounds of certainty; e.g. 40-60%  Decimal values are expressed as percentages as well (max = 100).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              },
              {
                "code": "Range"
              }
            ],
            "constraint": [
              {
                "key": "ras-1",
                "severity": "error",
                "human": "low and high must be percentages, if present",
                "expression": "(low.empty() or ((low.code = '%') and (low.system = %ucum))) and (high.empty() or ((high.code = '%') and (high.system = %ucum)))",
                "xpath": "(not(f:low) or f:low[f:code/@value='%' and f:system/@value='http://unitsofmeasure.org']) and (not(f:high) or f:high[f:code/@value='%' and f:system/@value='http://unitsofmeasure.org'])"
              }
            ]
          },
          {
            "id": "RiskAssessment.prediction.qualitativeRisk",
            "path": "RiskAssessment.prediction.qualitativeRisk",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RiskAssessmentProbability"
                }
              ],
              "strength": "example",
              "description": "The likelihood of the occurrence of a specified outcome",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/risk-probability"
              }
            }
          },
          {
            "id": "RiskAssessment.prediction.relativeRisk",
            "path": "RiskAssessment.prediction.relativeRisk",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "RiskAssessment.prediction.when[x]",
            "path": "RiskAssessment.prediction.when[x]",
            "comment": "If not specified, the risk applies \"over the subject's lifespan\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              },
              {
                "code": "Range"
              }
            ]
          },
          {
            "id": "RiskAssessment.prediction.rationale",
            "path": "RiskAssessment.prediction.rationale",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RiskAssessment.mitigation",
            "path": "RiskAssessment.mitigation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RiskAssessment.comment",
            "path": "RiskAssessment.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "RiskAssessment",
            "path": "RiskAssessment",
            "min": 0,
            "max": "*"
          },
          {
            "id": "RiskAssessment.identifier",
            "path": "RiskAssessment.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.basedOn",
            "path": "RiskAssessment.basedOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RiskAssessment.parent",
            "path": "RiskAssessment.parent",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RiskAssessment.status",
            "path": "RiskAssessment.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RiskAssessmentStatus"
                }
              ],
              "strength": "required",
              "description": "The status of the risk assessment; e.g. preliminary, final, amended, etc.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/observation-status"
              }
            }
          },
          {
            "id": "RiskAssessment.method",
            "path": "RiskAssessment.method",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RiskAssessmentMethod"
                }
              ],
              "strength": "example",
              "description": "The mechanism or algorithm used to make the assessment; e.g. TIMI, PRISM, Cardiff Type 2 diabetes, etc."
            }
          },
          {
            "id": "RiskAssessment.code",
            "path": "RiskAssessment.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.subject",
            "path": "RiskAssessment.subject",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.context",
            "path": "RiskAssessment.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.occurrence[x]",
            "path": "RiskAssessment.occurrence[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.condition",
            "path": "RiskAssessment.condition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.performer",
            "path": "RiskAssessment.performer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "RiskAssessment.reason[x]",
            "path": "RiskAssessment.reason[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RiskAssessment.basis",
            "path": "RiskAssessment.basis",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "RiskAssessment.prediction",
            "path": "RiskAssessment.prediction",
            "comment": "Multiple repetitions can be used to identify the same type of outcome in different timeframes as well as different types of outcomes.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ras-2",
                "severity": "error",
                "human": "Must be <= 100",
                "expression": "probability is decimal implies probability.as(decimal) <= 100",
                "xpath": "not(f:probabilityDecimal) or f:probabilityDecimal/@value <= 100"
              }
            ]
          },
          {
            "id": "RiskAssessment.prediction.outcome",
            "path": "RiskAssessment.prediction.outcome",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RiskAssessmentOutcome"
                }
              ],
              "strength": "example",
              "description": "The condition or other outcome; e.g. death, remission, amputation, infection, etc."
            }
          },
          {
            "id": "RiskAssessment.prediction.probability[x]",
            "path": "RiskAssessment.prediction.probability[x]",
            "comment": "If range is used, it represents the lower and upper bounds of certainty; e.g. 40-60%  Decimal values are expressed as percentages as well (max = 100).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              },
              {
                "code": "Range"
              }
            ],
            "constraint": [
              {
                "key": "ras-1",
                "severity": "error",
                "human": "low and high must be percentages, if present",
                "expression": "(low.empty() or ((low.code = '%') and (low.system = %ucum))) and (high.empty() or ((high.code = '%') and (high.system = %ucum)))",
                "xpath": "(not(f:low) or f:low[f:code/@value='%' and f:system/@value='http://unitsofmeasure.org']) and (not(f:high) or f:high[f:code/@value='%' and f:system/@value='http://unitsofmeasure.org'])"
              }
            ]
          },
          {
            "id": "RiskAssessment.prediction.qualitativeRisk",
            "path": "RiskAssessment.prediction.qualitativeRisk",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RiskAssessmentProbability"
                }
              ],
              "strength": "example",
              "description": "The likelihood of the occurrence of a specified outcome",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/risk-probability"
              }
            }
          },
          {
            "id": "RiskAssessment.prediction.relativeRisk",
            "path": "RiskAssessment.prediction.relativeRisk",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "RiskAssessment.prediction.when[x]",
            "path": "RiskAssessment.prediction.when[x]",
            "comment": "If not specified, the risk applies \"over the subject's lifespan\".",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              },
              {
                "code": "Range"
              }
            ]
          },
          {
            "id": "RiskAssessment.prediction.rationale",
            "path": "RiskAssessment.prediction.rationale",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RiskAssessment.mitigation",
            "path": "RiskAssessment.mitigation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "RiskAssessment.comment",
            "path": "RiskAssessment.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Schedule",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Schedule",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Schedule",
      "name": "Schedule",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Schedule",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Schedule",
            "path": "Schedule",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Schedule.id",
            "path": "Schedule.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Schedule.meta",
            "path": "Schedule.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Schedule.implicitRules",
            "path": "Schedule.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Schedule.language",
            "path": "Schedule.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Schedule.text",
            "path": "Schedule.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Schedule.contained",
            "path": "Schedule.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Schedule.extension",
            "path": "Schedule.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Schedule.modifierExtension",
            "path": "Schedule.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Schedule.identifier",
            "path": "Schedule.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Schedule.active",
            "path": "Schedule.active",
            "comment": "This element is labeled as a modifier because it may be used to mark that the resource was created in error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Schedule.serviceCategory",
            "path": "Schedule.serviceCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-category"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-category"
              }
            }
          },
          {
            "id": "Schedule.serviceType",
            "path": "Schedule.serviceType",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-type"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-type"
              }
            }
          },
          {
            "id": "Schedule.specialty",
            "path": "Schedule.specialty",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "specialty"
                }
              ],
              "strength": "preferred",
              "description": "Additional details about where the content was created (e.g. clinical specialty)",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "Schedule.actor",
            "path": "Schedule.actor",
            "comment": "The capacity to support multiple referenced resource types should be used in cases where the specific resources themselves cannot be scheduled without the other, and thus only make sense to the system exposing them as a group. Common examples of this are where the combination of a pracitioner and a room(location) are always required by a system.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PractitionerRole"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Schedule.planningHorizon",
            "path": "Schedule.planningHorizon",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Schedule.comment",
            "path": "Schedule.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Schedule",
            "path": "Schedule",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Schedule.identifier",
            "path": "Schedule.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Schedule.active",
            "path": "Schedule.active",
            "comment": "This element is labeled as a modifier because it may be used to mark that the resource was created in error.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true,
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Schedule.serviceCategory",
            "path": "Schedule.serviceCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-category"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-category"
              }
            }
          },
          {
            "id": "Schedule.serviceType",
            "path": "Schedule.serviceType",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-type"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-type"
              }
            }
          },
          {
            "id": "Schedule.specialty",
            "path": "Schedule.specialty",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "specialty"
                }
              ],
              "strength": "preferred",
              "description": "Additional details about where the content was created (e.g. clinical specialty)",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "Schedule.actor",
            "path": "Schedule.actor",
            "comment": "The capacity to support multiple referenced resource types should be used in cases where the specific resources themselves cannot be scheduled without the other, and thus only make sense to the system exposing them as a group. Common examples of this are where the combination of a pracitioner and a room(location) are always required by a system.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/PractitionerRole"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/HealthcareService"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Schedule.planningHorizon",
            "path": "Schedule.planningHorizon",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Schedule.comment",
            "path": "Schedule.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/SearchParameter",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "SearchParameter",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/SearchParameter",
      "name": "SearchParameter",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "SearchParameter",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "SearchParameter",
            "path": "SearchParameter",
            "comment": "In FHIR, search is not performed directly on a resource (by XML or JSON path), but on a named parameter that maps into the resource content.",
            "min": 1,
            "max": "1",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "spd-1",
                "severity": "error",
                "human": "If an xpath is present, there SHALL be an xpathUsage",
                "expression": "xpath.empty() or xpathUsage.exists()",
                "xpath": "not(exists(f:xpath)) or exists(f:xpathUsage)"
              },
              {
                "key": "spd-2",
                "severity": "error",
                "human": "Search parameters can only have chain names when the search parameter type is 'reference'",
                "expression": "chain.empty() or type = 'reference'",
                "xpath": "not(exists(f:chain)) or (f:type/@value = 'reference')"
              }
            ]
          },
          {
            "id": "SearchParameter.id",
            "path": "SearchParameter.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.meta",
            "path": "SearchParameter.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.implicitRules",
            "path": "SearchParameter.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "SearchParameter.language",
            "path": "SearchParameter.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "SearchParameter.text",
            "path": "SearchParameter.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "SearchParameter.contained",
            "path": "SearchParameter.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "SearchParameter.extension",
            "path": "SearchParameter.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "SearchParameter.modifierExtension",
            "path": "SearchParameter.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "SearchParameter.url",
            "path": "SearchParameter.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.version",
            "path": "SearchParameter.version",
            "comment": "There may be different search parameter instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the search parameter with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.name",
            "path": "SearchParameter.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.status",
            "path": "SearchParameter.status",
            "comment": "Allows filtering of search parameters that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired search parameter without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "SearchParameter.experimental",
            "path": "SearchParameter.experimental",
            "comment": "Allows filtering of search parameter that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental search parameter in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "SearchParameter.date",
            "path": "SearchParameter.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the search parameter. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.publisher",
            "path": "SearchParameter.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the search parameter is the organization or individual primarily responsible for the maintenance and upkeep of the search parameter. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the search parameter. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.contact",
            "path": "SearchParameter.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.useContext",
            "path": "SearchParameter.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.jurisdiction",
            "path": "SearchParameter.jurisdiction",
            "comment": "It may be possible for the search parameter to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "SearchParameter.purpose",
            "path": "SearchParameter.purpose",
            "comment": "This element does not describe the usage of the search parameter Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this search parameter.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "SearchParameter.code",
            "path": "SearchParameter.code",
            "comment": "For maximum compatibility, use only lowercase ASCII characters.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.base",
            "path": "SearchParameter.base",
            "comment": "A search parameter must always have at least one type. When search parameters have more than one resource, they can be used against any of the listed resource types, or in a cross-type search (see [Cross Resource Search](http.html#xres-search)).",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "SearchParameter.type",
            "path": "SearchParameter.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SearchParamType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Data types allowed to be used for search parameters.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-param-type"
              }
            }
          },
          {
            "id": "SearchParameter.derivedFrom",
            "path": "SearchParameter.derivedFrom",
            "comment": "The intent of this is that a server can designate that it provides support for a search parameter defined in the specification itself (e.g.  [`value-quantity`](http://hl7.org/fhir/SearchParameter/Observation-value-quantity), but detail how it is supported by the server.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "SearchParameter.description",
            "path": "SearchParameter.description",
            "comment": "This description can be used to capture details such as why the search parameter was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the search parameter as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.expression",
            "path": "SearchParameter.expression",
            "comment": "Note that the elements returned by the expression are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system. For composite search parameters, the outcome of the expression must a collection of base elements from which the composites are derived.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "spd-1"
            ]
          },
          {
            "id": "SearchParameter.xpath",
            "path": "SearchParameter.xpath",
            "comment": "Note that the elements returned by the XPath are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "spd-1"
            ]
          },
          {
            "id": "SearchParameter.xpathUsage",
            "path": "SearchParameter.xpathUsage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "spd-1"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "XPathUsageType"
                }
              ],
              "strength": "required",
              "description": "How a search parameter relates to the set of elements returned by evaluating its xpath query.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-xpath-usage"
              }
            }
          },
          {
            "id": "SearchParameter.target",
            "path": "SearchParameter.target",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "SearchParameter.comparator",
            "path": "SearchParameter.comparator",
            "comment": "If no comparators are listed, clients should not expect servers to support any comparators.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SearchComparator"
                }
              ],
              "strength": "required",
              "description": "What Search Comparator Codes are supported in search",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-comparator"
              }
            }
          },
          {
            "id": "SearchParameter.modifier",
            "path": "SearchParameter.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SearchModifierCode"
                }
              ],
              "strength": "required",
              "description": "A supported modifier for a search parameter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-modifier-code"
              }
            }
          },
          {
            "id": "SearchParameter.chain",
            "path": "SearchParameter.chain",
            "comment": "Systems are not required to list all the chain names they support, but if they don't list them, clients may not know to use them.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "SearchParameter.component",
            "path": "SearchParameter.component",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "SearchParameter.component.id",
            "path": "SearchParameter.component.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "SearchParameter.component.extension",
            "path": "SearchParameter.component.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "SearchParameter.component.modifierExtension",
            "path": "SearchParameter.component.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "SearchParameter.component.definition",
            "path": "SearchParameter.component.definition",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/SearchParameter"
              }
            ]
          },
          {
            "id": "SearchParameter.component.expression",
            "path": "SearchParameter.component.expression",
            "comment": "This expression overrides the expression in the definition, and extracts the index values from the outcome of the composite expression.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "SearchParameter",
            "path": "SearchParameter",
            "comment": "In FHIR, search is not performed directly on a resource (by XML or JSON path), but on a named parameter that maps into the resource content.",
            "min": 1,
            "max": "1",
            "constraint": [
              {
                "key": "spd-1",
                "severity": "error",
                "human": "If an xpath is present, there SHALL be an xpathUsage",
                "expression": "xpath.empty() or xpathUsage.exists()",
                "xpath": "not(exists(f:xpath)) or exists(f:xpathUsage)"
              },
              {
                "key": "spd-2",
                "severity": "error",
                "human": "Search parameters can only have chain names when the search parameter type is 'reference'",
                "expression": "chain.empty() or type = 'reference'",
                "xpath": "not(exists(f:chain)) or (f:type/@value = 'reference')"
              }
            ]
          },
          {
            "id": "SearchParameter.url",
            "path": "SearchParameter.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.version",
            "path": "SearchParameter.version",
            "comment": "There may be different search parameter instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the search parameter with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.name",
            "path": "SearchParameter.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.status",
            "path": "SearchParameter.status",
            "comment": "Allows filtering of search parameters that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired search parameter without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "SearchParameter.experimental",
            "path": "SearchParameter.experimental",
            "comment": "Allows filtering of search parameter that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental search parameter in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "SearchParameter.date",
            "path": "SearchParameter.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the search parameter. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.publisher",
            "path": "SearchParameter.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the search parameter is the organization or individual primarily responsible for the maintenance and upkeep of the search parameter. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the search parameter. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.contact",
            "path": "SearchParameter.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.useContext",
            "path": "SearchParameter.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.jurisdiction",
            "path": "SearchParameter.jurisdiction",
            "comment": "It may be possible for the search parameter to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "SearchParameter.purpose",
            "path": "SearchParameter.purpose",
            "comment": "This element does not describe the usage of the search parameter Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this search parameter.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "SearchParameter.code",
            "path": "SearchParameter.code",
            "comment": "For maximum compatibility, use only lowercase ASCII characters.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.base",
            "path": "SearchParameter.base",
            "comment": "A search parameter must always have at least one type. When search parameters have more than one resource, they can be used against any of the listed resource types, or in a cross-type search (see [Cross Resource Search](http.html#xres-search)).",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "SearchParameter.type",
            "path": "SearchParameter.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SearchParamType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Data types allowed to be used for search parameters.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-param-type"
              }
            }
          },
          {
            "id": "SearchParameter.derivedFrom",
            "path": "SearchParameter.derivedFrom",
            "comment": "The intent of this is that a server can designate that it provides support for a search parameter defined in the specification itself (e.g.  [`value-quantity`](http://hl7.org/fhir/SearchParameter/Observation-value-quantity), but detail how it is supported by the server.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "SearchParameter.description",
            "path": "SearchParameter.description",
            "comment": "This description can be used to capture details such as why the search parameter was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the search parameter as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SearchParameter.expression",
            "path": "SearchParameter.expression",
            "comment": "Note that the elements returned by the expression are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system. For composite search parameters, the outcome of the expression must a collection of base elements from which the composites are derived.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "spd-1"
            ]
          },
          {
            "id": "SearchParameter.xpath",
            "path": "SearchParameter.xpath",
            "comment": "Note that the elements returned by the XPath are sometimes complex elements where logic is required to determine quite how to handle them; e.g. CodeableConcepts may contain text and/or multiple codings, where the codings themselves contain a code and a system.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "spd-1"
            ]
          },
          {
            "id": "SearchParameter.xpathUsage",
            "path": "SearchParameter.xpathUsage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "spd-1"
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "XPathUsageType"
                }
              ],
              "strength": "required",
              "description": "How a search parameter relates to the set of elements returned by evaluating its xpath query.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-xpath-usage"
              }
            }
          },
          {
            "id": "SearchParameter.target",
            "path": "SearchParameter.target",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ResourceType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "One of the resource types defined as part of FHIR.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/resource-types"
              }
            }
          },
          {
            "id": "SearchParameter.comparator",
            "path": "SearchParameter.comparator",
            "comment": "If no comparators are listed, clients should not expect servers to support any comparators.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SearchComparator"
                }
              ],
              "strength": "required",
              "description": "What Search Comparator Codes are supported in search",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-comparator"
              }
            }
          },
          {
            "id": "SearchParameter.modifier",
            "path": "SearchParameter.modifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SearchModifierCode"
                }
              ],
              "strength": "required",
              "description": "A supported modifier for a search parameter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/search-modifier-code"
              }
            }
          },
          {
            "id": "SearchParameter.chain",
            "path": "SearchParameter.chain",
            "comment": "Systems are not required to list all the chain names they support, but if they don't list them, clients may not know to use them.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "SearchParameter.component",
            "path": "SearchParameter.component",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "SearchParameter.component.definition",
            "path": "SearchParameter.component.definition",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/SearchParameter"
              }
            ]
          },
          {
            "id": "SearchParameter.component.expression",
            "path": "SearchParameter.component.expression",
            "comment": "This expression overrides the expression in the definition, and extracts the index values from the outcome of the composite expression.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Sequence",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Sequence",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "cg"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Sequence",
      "name": "Sequence",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Sequence",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Sequence",
            "path": "Sequence",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "seq-3",
                "severity": "error",
                "human": "Only 0 and 1 are valid for coordinateSystem",
                "expression": "coordinateSystem = 1 or coordinateSystem = 0",
                "xpath": "count(f:coordinateSystem[@value=0 and @value=1]) = 1"
              }
            ]
          },
          {
            "id": "Sequence.id",
            "path": "Sequence.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.meta",
            "path": "Sequence.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.implicitRules",
            "path": "Sequence.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Sequence.language",
            "path": "Sequence.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Sequence.text",
            "path": "Sequence.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Sequence.contained",
            "path": "Sequence.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Sequence.extension",
            "path": "Sequence.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Sequence.modifierExtension",
            "path": "Sequence.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Sequence.identifier",
            "path": "Sequence.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.type",
            "path": "Sequence.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "sequenceType"
                }
              ],
              "strength": "example",
              "description": "Type if a sequence -- DNA, RNA, or amino acid sequence",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/sequence-type"
              }
            }
          },
          {
            "id": "Sequence.coordinateSystem",
            "path": "Sequence.coordinateSystem",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.patient",
            "path": "Sequence.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.specimen",
            "path": "Sequence.specimen",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.device",
            "path": "Sequence.device",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.performer",
            "path": "Sequence.performer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quantity",
            "path": "Sequence.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq",
            "path": "Sequence.referenceSeq",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "seq-4",
                "severity": "error",
                "human": "Only +1 and -1 are valid for strand",
                "expression": "strand.empty() or strand = 1 or strand = -1",
                "xpath": "not(exists(f:strand)) or count(f:strand[@value=-1 and @value=1]) = 1"
              },
              {
                "key": "seq-5",
                "severity": "error",
                "human": "GenomeBuild and chromosome must be both contained if either one of them is contained",
                "expression": "(chromosome.empty() and genomeBuild.empty()) or (chromosome.exists() and genomeBuild.exists())",
                "xpath": "(exists(f:chromosome) and exists(f:genomeBuild)) or (not(exists(f:chromosome)) and not(exists(f:genomeBuild)))"
              },
              {
                "key": "seq-6",
                "severity": "error",
                "human": "Have and only have one of the following elements in referenceSeq : 1. genomeBuild ; 2 referenceSeqId; 3. referenceSeqPointer;  4. referenceSeqString;",
                "expression": "(genomeBuild.count()+referenceSeqId.count()+ referenceSeqPointer.count()+ referenceSeqString.count()) = 1",
                "xpath": "count(f:genomeBuild)+count(f:referenceSeqId)+count(f:referenceSeqPointer)+count(f:referenceSeqString)=1"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.id",
            "path": "Sequence.referenceSeq.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Sequence.referenceSeq.extension",
            "path": "Sequence.referenceSeq.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Sequence.referenceSeq.modifierExtension",
            "path": "Sequence.referenceSeq.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.chromosome",
            "path": "Sequence.referenceSeq.chromosome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "chromosome-human"
                }
              ],
              "strength": "example",
              "description": "Chromosome number for human",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/chromosome-human"
              }
            }
          },
          {
            "id": "Sequence.referenceSeq.genomeBuild",
            "path": "Sequence.referenceSeq.genomeBuild",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.referenceSeqId",
            "path": "Sequence.referenceSeq.referenceSeqId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "sequenceReference"
                }
              ],
              "strength": "example",
              "description": "Reference identifier",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/sequence-referenceSeq"
              }
            }
          },
          {
            "id": "Sequence.referenceSeq.referenceSeqPointer",
            "path": "Sequence.referenceSeq.referenceSeqPointer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Sequence"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.referenceSeqString",
            "path": "Sequence.referenceSeq.referenceSeqString",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.strand",
            "path": "Sequence.referenceSeq.strand",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.windowStart",
            "path": "Sequence.referenceSeq.windowStart",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.windowEnd",
            "path": "Sequence.referenceSeq.windowEnd",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant",
            "path": "Sequence.variant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant.id",
            "path": "Sequence.variant.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Sequence.variant.extension",
            "path": "Sequence.variant.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Sequence.variant.modifierExtension",
            "path": "Sequence.variant.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Sequence.variant.start",
            "path": "Sequence.variant.start",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant.end",
            "path": "Sequence.variant.end",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant.observedAllele",
            "path": "Sequence.variant.observedAllele",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant.referenceAllele",
            "path": "Sequence.variant.referenceAllele",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant.cigar",
            "path": "Sequence.variant.cigar",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant.variantPointer",
            "path": "Sequence.variant.variantPointer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.observedSeq",
            "path": "Sequence.observedSeq",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality",
            "path": "Sequence.quality",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.id",
            "path": "Sequence.quality.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Sequence.quality.extension",
            "path": "Sequence.quality.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Sequence.quality.modifierExtension",
            "path": "Sequence.quality.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Sequence.quality.type",
            "path": "Sequence.quality.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "qualityType"
                }
              ],
              "strength": "required",
              "description": "Type for quality report",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/quality-type"
              }
            }
          },
          {
            "id": "Sequence.quality.standardSequence",
            "path": "Sequence.quality.standardSequence",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "qualityStandardSequence"
                }
              ],
              "strength": "example",
              "description": "Reference identifier of the sequence that used to mark the quality of tested samples.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/sequence-quality-standardSequence"
              }
            }
          },
          {
            "id": "Sequence.quality.start",
            "path": "Sequence.quality.start",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.end",
            "path": "Sequence.quality.end",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.score",
            "path": "Sequence.quality.score",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.method",
            "path": "Sequence.quality.method",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "qualityMethod"
                }
              ],
              "strength": "example",
              "description": "The method used to evaluate the numerical quality of the observed sequence.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/sequence-quality-method"
              }
            }
          },
          {
            "id": "Sequence.quality.truthTP",
            "path": "Sequence.quality.truthTP",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.queryTP",
            "path": "Sequence.quality.queryTP",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.truthFN",
            "path": "Sequence.quality.truthFN",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.queryFP",
            "path": "Sequence.quality.queryFP",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.gtFP",
            "path": "Sequence.quality.gtFP",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.precision",
            "path": "Sequence.quality.precision",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.recall",
            "path": "Sequence.quality.recall",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.fScore",
            "path": "Sequence.quality.fScore",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.readCoverage",
            "path": "Sequence.readCoverage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.repository",
            "path": "Sequence.repository",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.repository.id",
            "path": "Sequence.repository.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Sequence.repository.extension",
            "path": "Sequence.repository.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Sequence.repository.modifierExtension",
            "path": "Sequence.repository.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Sequence.repository.type",
            "path": "Sequence.repository.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "repositoryType"
                }
              ],
              "strength": "required",
              "description": "Type for access of external URI",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/repository-type"
              }
            }
          },
          {
            "id": "Sequence.repository.url",
            "path": "Sequence.repository.url",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.repository.name",
            "path": "Sequence.repository.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.repository.datasetId",
            "path": "Sequence.repository.datasetId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.repository.variantsetId",
            "path": "Sequence.repository.variantsetId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.repository.readsetId",
            "path": "Sequence.repository.readsetId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.pointer",
            "path": "Sequence.pointer",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Sequence"
              }
            ],
            "isSummary": true
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Sequence",
            "path": "Sequence",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "seq-3",
                "severity": "error",
                "human": "Only 0 and 1 are valid for coordinateSystem",
                "expression": "coordinateSystem = 1 or coordinateSystem = 0",
                "xpath": "count(f:coordinateSystem[@value=0 and @value=1]) = 1"
              }
            ]
          },
          {
            "id": "Sequence.identifier",
            "path": "Sequence.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.type",
            "path": "Sequence.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "sequenceType"
                }
              ],
              "strength": "example",
              "description": "Type if a sequence -- DNA, RNA, or amino acid sequence",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/sequence-type"
              }
            }
          },
          {
            "id": "Sequence.coordinateSystem",
            "path": "Sequence.coordinateSystem",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.patient",
            "path": "Sequence.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.specimen",
            "path": "Sequence.specimen",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.device",
            "path": "Sequence.device",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.performer",
            "path": "Sequence.performer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quantity",
            "path": "Sequence.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq",
            "path": "Sequence.referenceSeq",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "seq-4",
                "severity": "error",
                "human": "Only +1 and -1 are valid for strand",
                "expression": "strand.empty() or strand = 1 or strand = -1",
                "xpath": "not(exists(f:strand)) or count(f:strand[@value=-1 and @value=1]) = 1"
              },
              {
                "key": "seq-5",
                "severity": "error",
                "human": "GenomeBuild and chromosome must be both contained if either one of them is contained",
                "expression": "(chromosome.empty() and genomeBuild.empty()) or (chromosome.exists() and genomeBuild.exists())",
                "xpath": "(exists(f:chromosome) and exists(f:genomeBuild)) or (not(exists(f:chromosome)) and not(exists(f:genomeBuild)))"
              },
              {
                "key": "seq-6",
                "severity": "error",
                "human": "Have and only have one of the following elements in referenceSeq : 1. genomeBuild ; 2 referenceSeqId; 3. referenceSeqPointer;  4. referenceSeqString;",
                "expression": "(genomeBuild.count()+referenceSeqId.count()+ referenceSeqPointer.count()+ referenceSeqString.count()) = 1",
                "xpath": "count(f:genomeBuild)+count(f:referenceSeqId)+count(f:referenceSeqPointer)+count(f:referenceSeqString)=1"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.chromosome",
            "path": "Sequence.referenceSeq.chromosome",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "chromosome-human"
                }
              ],
              "strength": "example",
              "description": "Chromosome number for human",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/chromosome-human"
              }
            }
          },
          {
            "id": "Sequence.referenceSeq.genomeBuild",
            "path": "Sequence.referenceSeq.genomeBuild",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.referenceSeqId",
            "path": "Sequence.referenceSeq.referenceSeqId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "sequenceReference"
                }
              ],
              "strength": "example",
              "description": "Reference identifier",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/sequence-referenceSeq"
              }
            }
          },
          {
            "id": "Sequence.referenceSeq.referenceSeqPointer",
            "path": "Sequence.referenceSeq.referenceSeqPointer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Sequence"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.referenceSeqString",
            "path": "Sequence.referenceSeq.referenceSeqString",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.strand",
            "path": "Sequence.referenceSeq.strand",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.windowStart",
            "path": "Sequence.referenceSeq.windowStart",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.referenceSeq.windowEnd",
            "path": "Sequence.referenceSeq.windowEnd",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant",
            "path": "Sequence.variant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant.start",
            "path": "Sequence.variant.start",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant.end",
            "path": "Sequence.variant.end",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant.observedAllele",
            "path": "Sequence.variant.observedAllele",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant.referenceAllele",
            "path": "Sequence.variant.referenceAllele",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant.cigar",
            "path": "Sequence.variant.cigar",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.variant.variantPointer",
            "path": "Sequence.variant.variantPointer",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Observation"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.observedSeq",
            "path": "Sequence.observedSeq",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality",
            "path": "Sequence.quality",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.type",
            "path": "Sequence.quality.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "qualityType"
                }
              ],
              "strength": "required",
              "description": "Type for quality report",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/quality-type"
              }
            }
          },
          {
            "id": "Sequence.quality.standardSequence",
            "path": "Sequence.quality.standardSequence",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "qualityStandardSequence"
                }
              ],
              "strength": "example",
              "description": "Reference identifier of the sequence that used to mark the quality of tested samples.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/sequence-quality-standardSequence"
              }
            }
          },
          {
            "id": "Sequence.quality.start",
            "path": "Sequence.quality.start",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.end",
            "path": "Sequence.quality.end",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.score",
            "path": "Sequence.quality.score",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.method",
            "path": "Sequence.quality.method",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "qualityMethod"
                }
              ],
              "strength": "example",
              "description": "The method used to evaluate the numerical quality of the observed sequence.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/sequence-quality-method"
              }
            }
          },
          {
            "id": "Sequence.quality.truthTP",
            "path": "Sequence.quality.truthTP",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.queryTP",
            "path": "Sequence.quality.queryTP",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.truthFN",
            "path": "Sequence.quality.truthFN",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.queryFP",
            "path": "Sequence.quality.queryFP",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.gtFP",
            "path": "Sequence.quality.gtFP",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.precision",
            "path": "Sequence.quality.precision",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.recall",
            "path": "Sequence.quality.recall",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.quality.fScore",
            "path": "Sequence.quality.fScore",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.readCoverage",
            "path": "Sequence.readCoverage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.repository",
            "path": "Sequence.repository",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.repository.type",
            "path": "Sequence.repository.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "repositoryType"
                }
              ],
              "strength": "required",
              "description": "Type for access of external URI",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/repository-type"
              }
            }
          },
          {
            "id": "Sequence.repository.url",
            "path": "Sequence.repository.url",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.repository.name",
            "path": "Sequence.repository.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.repository.datasetId",
            "path": "Sequence.repository.datasetId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.repository.variantsetId",
            "path": "Sequence.repository.variantsetId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.repository.readsetId",
            "path": "Sequence.repository.readsetId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Sequence.pointer",
            "path": "Sequence.pointer",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Sequence"
              }
            ],
            "isSummary": true
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ServiceDefinition",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ServiceDefinition",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "cds"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ServiceDefinition",
      "name": "ServiceDefinition",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ServiceDefinition",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ServiceDefinition",
            "path": "ServiceDefinition",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "ServiceDefinition.id",
            "path": "ServiceDefinition.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.meta",
            "path": "ServiceDefinition.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.implicitRules",
            "path": "ServiceDefinition.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.language",
            "path": "ServiceDefinition.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ServiceDefinition.text",
            "path": "ServiceDefinition.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ServiceDefinition.contained",
            "path": "ServiceDefinition.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ServiceDefinition.extension",
            "path": "ServiceDefinition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ServiceDefinition.modifierExtension",
            "path": "ServiceDefinition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ServiceDefinition.url",
            "path": "ServiceDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.identifier",
            "path": "ServiceDefinition.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this service definition outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.version",
            "path": "ServiceDefinition.version",
            "comment": "There may be different service definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the service definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.name",
            "path": "ServiceDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.title",
            "path": "ServiceDefinition.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.status",
            "path": "ServiceDefinition.status",
            "comment": "Allows filtering of service definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired service definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "ServiceDefinition.experimental",
            "path": "ServiceDefinition.experimental",
            "comment": "Allows filtering of service definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental service definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.date",
            "path": "ServiceDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the service definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.publisher",
            "path": "ServiceDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the service definition is the organization or individual primarily responsible for the maintenance and upkeep of the service definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the service definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.description",
            "path": "ServiceDefinition.description",
            "comment": "This description can be used to capture details such as why the service definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the service definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ServiceDefinition.purpose",
            "path": "ServiceDefinition.purpose",
            "comment": "This element does not describe the usage of the service definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this service definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ServiceDefinition.usage",
            "path": "ServiceDefinition.usage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ServiceDefinition.approvalDate",
            "path": "ServiceDefinition.approvalDate",
            "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ServiceDefinition.lastReviewDate",
            "path": "ServiceDefinition.lastReviewDate",
            "comment": "If specified, this is usually after the approval date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ServiceDefinition.effectivePeriod",
            "path": "ServiceDefinition.effectivePeriod",
            "comment": "The effective period for a service definition  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.useContext",
            "path": "ServiceDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.jurisdiction",
            "path": "ServiceDefinition.jurisdiction",
            "comment": "It may be possible for the service definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ServiceDefinition.topic",
            "path": "ServiceDefinition.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DefinitionTopic"
                }
              ],
              "strength": "example",
              "description": "High-level categorization of the definition, used for searching, sorting, and filtering",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/definition-topic"
              }
            }
          },
          {
            "id": "ServiceDefinition.contributor",
            "path": "ServiceDefinition.contributor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Contributor"
              }
            ]
          },
          {
            "id": "ServiceDefinition.contact",
            "path": "ServiceDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.copyright",
            "path": "ServiceDefinition.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ServiceDefinition.relatedArtifact",
            "path": "ServiceDefinition.relatedArtifact",
            "comment": "Each related resource is either an attachment, or a reference to another resource, but not both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "ServiceDefinition.trigger",
            "path": "ServiceDefinition.trigger",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "TriggerDefinition"
              }
            ]
          },
          {
            "id": "ServiceDefinition.dataRequirement",
            "path": "ServiceDefinition.dataRequirement",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "DataRequirement"
              }
            ]
          },
          {
            "id": "ServiceDefinition.operationDefinition",
            "path": "ServiceDefinition.operationDefinition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/OperationDefinition"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ServiceDefinition",
            "path": "ServiceDefinition",
            "min": 0,
            "max": "*"
          },
          {
            "id": "ServiceDefinition.url",
            "path": "ServiceDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.identifier",
            "path": "ServiceDefinition.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this service definition outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.version",
            "path": "ServiceDefinition.version",
            "comment": "There may be different service definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the service definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.name",
            "path": "ServiceDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.title",
            "path": "ServiceDefinition.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.status",
            "path": "ServiceDefinition.status",
            "comment": "Allows filtering of service definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired service definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "ServiceDefinition.experimental",
            "path": "ServiceDefinition.experimental",
            "comment": "Allows filtering of service definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental service definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.date",
            "path": "ServiceDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the service definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.publisher",
            "path": "ServiceDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the service definition is the organization or individual primarily responsible for the maintenance and upkeep of the service definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the service definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.description",
            "path": "ServiceDefinition.description",
            "comment": "This description can be used to capture details such as why the service definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the service definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ServiceDefinition.purpose",
            "path": "ServiceDefinition.purpose",
            "comment": "This element does not describe the usage of the service definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this service definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ServiceDefinition.usage",
            "path": "ServiceDefinition.usage",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ServiceDefinition.approvalDate",
            "path": "ServiceDefinition.approvalDate",
            "comment": "The 'date' element may be more recent than the approval date because of minor changes / editorial corrections.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ServiceDefinition.lastReviewDate",
            "path": "ServiceDefinition.lastReviewDate",
            "comment": "If specified, this is usually after the approval date.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ]
          },
          {
            "id": "ServiceDefinition.effectivePeriod",
            "path": "ServiceDefinition.effectivePeriod",
            "comment": "The effective period for a service definition  determines when the content is applicable for usage and is independent of publication and review dates. For example, a measure intended to be used for the year 2016 might be published in 2015.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.useContext",
            "path": "ServiceDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.jurisdiction",
            "path": "ServiceDefinition.jurisdiction",
            "comment": "It may be possible for the service definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ServiceDefinition.topic",
            "path": "ServiceDefinition.topic",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "DefinitionTopic"
                }
              ],
              "strength": "example",
              "description": "High-level categorization of the definition, used for searching, sorting, and filtering",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/definition-topic"
              }
            }
          },
          {
            "id": "ServiceDefinition.contributor",
            "path": "ServiceDefinition.contributor",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Contributor"
              }
            ]
          },
          {
            "id": "ServiceDefinition.contact",
            "path": "ServiceDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ServiceDefinition.copyright",
            "path": "ServiceDefinition.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ServiceDefinition.relatedArtifact",
            "path": "ServiceDefinition.relatedArtifact",
            "comment": "Each related resource is either an attachment, or a reference to another resource, but not both.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "RelatedArtifact"
              }
            ]
          },
          {
            "id": "ServiceDefinition.trigger",
            "path": "ServiceDefinition.trigger",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "TriggerDefinition"
              }
            ]
          },
          {
            "id": "ServiceDefinition.dataRequirement",
            "path": "ServiceDefinition.dataRequirement",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "DataRequirement"
              }
            ]
          },
          {
            "id": "ServiceDefinition.operationDefinition",
            "path": "ServiceDefinition.operationDefinition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/OperationDefinition"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Slot",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Slot",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "pa"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Slot",
      "name": "Slot",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Slot",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Slot",
            "path": "Slot",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Slot.id",
            "path": "Slot.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Slot.meta",
            "path": "Slot.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Slot.implicitRules",
            "path": "Slot.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Slot.language",
            "path": "Slot.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Slot.text",
            "path": "Slot.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Slot.contained",
            "path": "Slot.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Slot.extension",
            "path": "Slot.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Slot.modifierExtension",
            "path": "Slot.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Slot.identifier",
            "path": "Slot.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Slot.serviceCategory",
            "path": "Slot.serviceCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-category"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-category"
              }
            }
          },
          {
            "id": "Slot.serviceType",
            "path": "Slot.serviceType",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-type"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-type"
              }
            }
          },
          {
            "id": "Slot.specialty",
            "path": "Slot.specialty",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "specialty"
                }
              ],
              "strength": "preferred",
              "description": "Additional details about where the content was created (e.g. clinical specialty).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "Slot.appointmentType",
            "path": "Slot.appointmentType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "appointment-type"
                }
              ],
              "strength": "preferred",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0276"
              }
            }
          },
          {
            "id": "Slot.schedule",
            "path": "Slot.schedule",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Schedule"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Slot.status",
            "path": "Slot.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SlotStatus"
                }
              ],
              "strength": "required",
              "description": "The free/busy status of the slot.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/slotstatus"
              }
            }
          },
          {
            "id": "Slot.start",
            "path": "Slot.start",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Slot.end",
            "path": "Slot.end",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Slot.overbooked",
            "path": "Slot.overbooked",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "meaningWhenMissing": "If overbooked is missing, systems may assume that there are still appointments available"
          },
          {
            "id": "Slot.comment",
            "path": "Slot.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Slot",
            "path": "Slot",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Slot.identifier",
            "path": "Slot.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Slot.serviceCategory",
            "path": "Slot.serviceCategory",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-category"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-category"
              }
            }
          },
          {
            "id": "Slot.serviceType",
            "path": "Slot.serviceType",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "service-type"
                }
              ],
              "strength": "example",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/service-type"
              }
            }
          },
          {
            "id": "Slot.specialty",
            "path": "Slot.specialty",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "specialty"
                }
              ],
              "strength": "preferred",
              "description": "Additional details about where the content was created (e.g. clinical specialty).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/c80-practice-codes"
              }
            }
          },
          {
            "id": "Slot.appointmentType",
            "path": "Slot.appointmentType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "appointment-type"
                }
              ],
              "strength": "preferred",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0276"
              }
            }
          },
          {
            "id": "Slot.schedule",
            "path": "Slot.schedule",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Schedule"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Slot.status",
            "path": "Slot.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SlotStatus"
                }
              ],
              "strength": "required",
              "description": "The free/busy status of the slot.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/slotstatus"
              }
            }
          },
          {
            "id": "Slot.start",
            "path": "Slot.start",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Slot.end",
            "path": "Slot.end",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Slot.overbooked",
            "path": "Slot.overbooked",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "meaningWhenMissing": "If overbooked is missing, systems may assume that there are still appointments available"
          },
          {
            "id": "Slot.comment",
            "path": "Slot.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Specimen",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Specimen",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Specimen",
      "name": "Specimen",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Specimen",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Specimen",
            "path": "Specimen",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Specimen.id",
            "path": "Specimen.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.meta",
            "path": "Specimen.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.implicitRules",
            "path": "Specimen.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Specimen.language",
            "path": "Specimen.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Specimen.text",
            "path": "Specimen.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Specimen.contained",
            "path": "Specimen.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Specimen.extension",
            "path": "Specimen.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Specimen.modifierExtension",
            "path": "Specimen.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Specimen.identifier",
            "path": "Specimen.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.accessionIdentifier",
            "path": "Specimen.accessionIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.status",
            "path": "Specimen.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SpecimenStatus"
                }
              ],
              "strength": "required",
              "description": "Codes providing the status/availability of a specimen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/specimen-status"
              }
            }
          },
          {
            "id": "Specimen.type",
            "path": "Specimen.type",
            "comment": "The type can change the way that a specimen is handled, and drives what kind of analyses can properly be performed on the specimen. It is frequently used in diagnostic work flow decision making systems.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SpecimenType"
                }
              ],
              "strength": "example",
              "description": "The type of the specimen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0487"
              }
            }
          },
          {
            "id": "Specimen.subject",
            "path": "Specimen.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.receivedTime",
            "path": "Specimen.receivedTime",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.parent",
            "path": "Specimen.parent",
            "comment": "The parent specimen could be the source from which the current specimen is derived by some processing step (e.g. an aliquot or isolate or extracted nucleic acids from clinical samples) or one of many specimens that were combined to create a pooled sample.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
              }
            ]
          },
          {
            "id": "Specimen.request",
            "path": "Specimen.request",
            "comment": "The request may be explicit or implied such with a ProcedureRequest that requires a blood draw.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              }
            ]
          },
          {
            "id": "Specimen.collection",
            "path": "Specimen.collection",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Specimen.collection.id",
            "path": "Specimen.collection.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Specimen.collection.extension",
            "path": "Specimen.collection.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Specimen.collection.modifierExtension",
            "path": "Specimen.collection.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Specimen.collection.collector",
            "path": "Specimen.collection.collector",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.collection.collected[x]",
            "path": "Specimen.collection.collected[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.collection.quantity",
            "path": "Specimen.collection.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Specimen.collection.method",
            "path": "Specimen.collection.method",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SpecimenCollectionMethod"
                }
              ],
              "strength": "example",
              "description": "The  technique that is used to perform the procedure",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/specimen-collection-method"
              }
            }
          },
          {
            "id": "Specimen.collection.bodySite",
            "path": "Specimen.collection.bodySite",
            "comment": "If the use case requires  BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately)  then use the standard extension [body-site-instance](extension-body-site-instance.html).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "Specimen.processing",
            "path": "Specimen.processing",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Specimen.processing.id",
            "path": "Specimen.processing.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Specimen.processing.extension",
            "path": "Specimen.processing.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Specimen.processing.modifierExtension",
            "path": "Specimen.processing.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Specimen.processing.description",
            "path": "Specimen.processing.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Specimen.processing.procedure",
            "path": "Specimen.processing.procedure",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SpecimenProcessingProcedure"
                }
              ],
              "strength": "example",
              "description": "Type indicating the technique used to process the specimen",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/specimen-processing-procedure"
              }
            }
          },
          {
            "id": "Specimen.processing.additive",
            "path": "Specimen.processing.additive",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ]
          },
          {
            "id": "Specimen.processing.time[x]",
            "path": "Specimen.processing.time[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Specimen.container",
            "path": "Specimen.container",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Specimen.container.id",
            "path": "Specimen.container.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Specimen.container.extension",
            "path": "Specimen.container.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Specimen.container.modifierExtension",
            "path": "Specimen.container.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Specimen.container.identifier",
            "path": "Specimen.container.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.container.description",
            "path": "Specimen.container.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Specimen.container.type",
            "path": "Specimen.container.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SpecimenContainerType"
                }
              ],
              "strength": "example",
              "description": "Type of specimen container",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/specimen-container-type"
              }
            }
          },
          {
            "id": "Specimen.container.capacity",
            "path": "Specimen.container.capacity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Specimen.container.specimenQuantity",
            "path": "Specimen.container.specimenQuantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Specimen.container.additive[x]",
            "path": "Specimen.container.additive[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SpecimenContainerAdditive"
                }
              ],
              "strength": "example",
              "description": "Substance added to specimen container",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0371"
              }
            }
          },
          {
            "id": "Specimen.note",
            "path": "Specimen.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Specimen",
            "path": "Specimen",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Specimen.identifier",
            "path": "Specimen.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.accessionIdentifier",
            "path": "Specimen.accessionIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.status",
            "path": "Specimen.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SpecimenStatus"
                }
              ],
              "strength": "required",
              "description": "Codes providing the status/availability of a specimen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/specimen-status"
              }
            }
          },
          {
            "id": "Specimen.type",
            "path": "Specimen.type",
            "comment": "The type can change the way that a specimen is handled, and drives what kind of analyses can properly be performed on the specimen. It is frequently used in diagnostic work flow decision making systems.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SpecimenType"
                }
              ],
              "strength": "example",
              "description": "The type of the specimen.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0487"
              }
            }
          },
          {
            "id": "Specimen.subject",
            "path": "Specimen.subject",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.receivedTime",
            "path": "Specimen.receivedTime",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.parent",
            "path": "Specimen.parent",
            "comment": "The parent specimen could be the source from which the current specimen is derived by some processing step (e.g. an aliquot or isolate or extracted nucleic acids from clinical samples) or one of many specimens that were combined to create a pooled sample.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Specimen"
              }
            ]
          },
          {
            "id": "Specimen.request",
            "path": "Specimen.request",
            "comment": "The request may be explicit or implied such with a ProcedureRequest that requires a blood draw.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ProcedureRequest"
              }
            ]
          },
          {
            "id": "Specimen.collection",
            "path": "Specimen.collection",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Specimen.collection.collector",
            "path": "Specimen.collection.collector",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.collection.collected[x]",
            "path": "Specimen.collection.collected[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.collection.quantity",
            "path": "Specimen.collection.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Specimen.collection.method",
            "path": "Specimen.collection.method",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SpecimenCollectionMethod"
                }
              ],
              "strength": "example",
              "description": "The  technique that is used to perform the procedure",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/specimen-collection-method"
              }
            }
          },
          {
            "id": "Specimen.collection.bodySite",
            "path": "Specimen.collection.bodySite",
            "comment": "If the use case requires  BodySite to be handled as a separate resource instead of an inline coded element (e.g. to identify and track separately)  then use the standard extension [body-site-instance](extension-body-site-instance.html).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "BodySite"
                }
              ],
              "strength": "example",
              "description": "Codes describing anatomical locations. May include laterality.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/body-site"
              }
            }
          },
          {
            "id": "Specimen.processing",
            "path": "Specimen.processing",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Specimen.processing.description",
            "path": "Specimen.processing.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Specimen.processing.procedure",
            "path": "Specimen.processing.procedure",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SpecimenProcessingProcedure"
                }
              ],
              "strength": "example",
              "description": "Type indicating the technique used to process the specimen",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/specimen-processing-procedure"
              }
            }
          },
          {
            "id": "Specimen.processing.additive",
            "path": "Specimen.processing.additive",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ]
          },
          {
            "id": "Specimen.processing.time[x]",
            "path": "Specimen.processing.time[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Specimen.container",
            "path": "Specimen.container",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Specimen.container.identifier",
            "path": "Specimen.container.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Specimen.container.description",
            "path": "Specimen.container.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Specimen.container.type",
            "path": "Specimen.container.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SpecimenContainerType"
                }
              ],
              "strength": "example",
              "description": "Type of specimen container",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/specimen-container-type"
              }
            }
          },
          {
            "id": "Specimen.container.capacity",
            "path": "Specimen.container.capacity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Specimen.container.specimenQuantity",
            "path": "Specimen.container.specimenQuantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "Specimen.container.additive[x]",
            "path": "Specimen.container.additive[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SpecimenContainerAdditive"
                }
              ],
              "strength": "example",
              "description": "Substance added to specimen container",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/v2-0371"
              }
            }
          },
          {
            "id": "Specimen.note",
            "path": "Specimen.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/StructureDefinition",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "StructureDefinition",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 5
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/StructureDefinition",
      "name": "StructureDefinition",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "StructureDefinition",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "StructureDefinition",
            "path": "StructureDefinition",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "sdf-9",
                "requirements": "Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition",
                "severity": "error",
                "human": "In any snapshot or differential, no label, code or requirements on the an element without a \".\" in the path (e.g. the first element)",
                "expression": "children().element.first().label.empty() and children().element.first().code.empty() and children().element.first().requirements.empty()",
                "xpath": "not(exists(f:snapshot/f:element[not(contains(f:path/@value, '.')) and (f:label or f:code or f:requirements)])) and not(exists(f:differential/f:element[not(contains(f:path/@value, '.')) and (f:label or f:code or f:requirements)]))"
              },
              {
                "key": "sdf-19",
                "requirements": "custom types only in logical models",
                "severity": "error",
                "human": "Custom types can only be used in logical models",
                "expression": "kind = 'logical' or (differential.element.type.code.all(hasValue() implies matches('^[a-zA-Z0-9]+$')) and snapshot.element.type.code.all(hasValue() implies matches('^[a-zA-Z0-9]+$')))",
                "xpath": "f:kind/@value = 'logical' or count(f:differential/f:element/f:type/f:code[@value and not(matches(string(@value), '^[a-zA-Z0-9]+$'))]|f:snapshot/f:element/f:type/f:code[@value and not(matches(string(@value), '^[a-zA-Z0-9]+$'))]) =0"
              },
              {
                "key": "sdf-16",
                "requirements": "element ids need to be unique",
                "severity": "error",
                "human": "All element definitions must have unique ids (snapshot)",
                "expression": "snapshot.element.id.trace('ids').isDistinct()",
                "xpath": "count(*/f:element)=count(*/f:element/@id)"
              },
              {
                "key": "sdf-18",
                "requirements": "contextInvariant",
                "severity": "error",
                "human": "Context Invariants can only be used for extensions",
                "expression": "contextInvariant.exists() implies type = 'Extension'",
                "xpath": "not(exists(f:contextInvariant)) or (f:type/@value = 'Extension')"
              },
              {
                "key": "sdf-17",
                "requirements": "element ids need to be unique",
                "severity": "error",
                "human": "All element definitions must have unique ids (diff)",
                "expression": "differential.element.id.trace('ids').isDistinct()",
                "xpath": "count(*/f:element)=count(*/f:element/@id)"
              },
              {
                "key": "sdf-12",
                "requirements": "Ensure that element.base appears with base or not",
                "severity": "error",
                "human": "element.base cannot appear if there is no base on the structure definition",
                "expression": "snapshot.exists() implies (snapshot.element.base.exists() = baseDefinition.exists())",
                "xpath": "f:baseDefinition or not(exists(f:snapshot/f:element/f:base) or exists(f:differential/f:element/f:base))"
              },
              {
                "key": "sdf-11",
                "requirements": "Ensure that the type is not inconsistent with the other information in the structure",
                "severity": "error",
                "human": "If there's a type, its content must match the path name in the first element of a snapshot",
                "expression": "snapshot.empty() or snapshot.element.first().path = type",
                "xpath": "not(exists(f:snapshot)) or (f:type/@value = f:snapshot/f:element[1]/f:path/@value)"
              },
              {
                "key": "sdf-14",
                "requirements": "elements have id",
                "severity": "error",
                "human": "All element definitions must have an id",
                "expression": "snapshot.element.all(id.exists()) and differential.element.all(id.exists())",
                "xpath": "count(*/f:element)=count(*/f:element/@id)"
              },
              {
                "key": "sdf-1",
                "severity": "error",
                "human": "Element paths must be unique unless the structure is a constraint",
                "expression": "derivation = 'constraint' or snapshot.element.select(path).isDistinct()",
                "xpath": "(f:derivation/@value = 'constraint') or (count(f:snapshot/f:element) = count(distinct-values(f:snapshot/f:element/f:path/@value)))"
              },
              {
                "key": "sdf-7",
                "severity": "error",
                "human": "If the structure describes a base Resource or Type, the URL has to start with \"http://hl7.org/fhir/StructureDefinition/\" and the tail must match the id",
                "expression": "(derivation = 'constraint') or (kind = 'logical') or (url = 'http://hl7.org/fhir/StructureDefinition/'+id)",
                "xpath": "(f:derivation/@value = 'constraint') or (f:kind/@value = 'logical') or (f:url/@value=concat('http://hl7.org/fhir/StructureDefinition/', f:id/@value))"
              },
              {
                "key": "sdf-6",
                "severity": "error",
                "human": "A structure must have either a differential, or a snapshot (or both)",
                "expression": "snapshot.exists() or differential.exists()",
                "xpath": "exists(f:snapshot) or exists(f:differential)"
              },
              {
                "key": "sdf-5",
                "severity": "error",
                "human": "If the structure defines an extension then the structure must have context information",
                "expression": "type != 'Extension' or derivation = 'specialization' or (context.exists() and contextType.exists())",
                "xpath": "not(f:type/@value = 'extension') or (f:derivation/@value = 'specialization') or (exists(f:context) and exists(f:contextType))"
              },
              {
                "key": "sdf-4",
                "requirements": "Ensure that the base types are abstract",
                "severity": "error",
                "human": "If the structure is not abstract, then there SHALL be a baseDefinition",
                "expression": "abstract = true or baseDefinition.exists()",
                "xpath": "(f:abstract/@value=true()) or exists(f:baseDefinition)"
              }
            ]
          },
          {
            "id": "StructureDefinition.id",
            "path": "StructureDefinition.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.meta",
            "path": "StructureDefinition.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.implicitRules",
            "path": "StructureDefinition.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureDefinition.language",
            "path": "StructureDefinition.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "StructureDefinition.text",
            "path": "StructureDefinition.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "StructureDefinition.contained",
            "path": "StructureDefinition.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "StructureDefinition.extension",
            "path": "StructureDefinition.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureDefinition.modifierExtension",
            "path": "StructureDefinition.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "StructureDefinition.url",
            "path": "StructureDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.identifier",
            "path": "StructureDefinition.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this structure definition outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.version",
            "path": "StructureDefinition.version",
            "comment": "There may be different structure definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the structure definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.name",
            "path": "StructureDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.title",
            "path": "StructureDefinition.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. Applications don't have to use this name, but can always fall back to it. The title also corresponds to the label for the root element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.status",
            "path": "StructureDefinition.status",
            "comment": "Allows filtering of structure definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired structure definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "StructureDefinition.experimental",
            "path": "StructureDefinition.experimental",
            "comment": "Allows filtering of structure definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental structure definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureDefinition.date",
            "path": "StructureDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.publisher",
            "path": "StructureDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the structure definition is the organization or individual primarily responsible for the maintenance and upkeep of the structure definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.contact",
            "path": "StructureDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.description",
            "path": "StructureDefinition.description",
            "comment": "This description can be used to capture details such as why the structure definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "StructureDefinition.useContext",
            "path": "StructureDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.jurisdiction",
            "path": "StructureDefinition.jurisdiction",
            "comment": "It may be possible for the structure definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "StructureDefinition.purpose",
            "path": "StructureDefinition.purpose",
            "comment": "This element does not describe the usage of the structure definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this structure definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "StructureDefinition.copyright",
            "path": "StructureDefinition.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "StructureDefinition.keyword",
            "path": "StructureDefinition.keyword",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureDefinitionCode"
                }
              ],
              "strength": "example",
              "description": "Codes for the meaning of the defined structure (SNOMED CT and LOINC codes, as an example).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/profile-code"
              }
            }
          },
          {
            "id": "StructureDefinition.fhirVersion",
            "path": "StructureDefinition.fhirVersion",
            "comment": "A StructureDefinition does not need to specify the target it applies to,as StructureDefinitions will often be valid across multiple versions of FHIR. FHIR tooling can determine whether a StructureDefinition is consistent with a particular StructureDefinition if desired.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.mapping",
            "path": "StructureDefinition.mapping",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "sdf-2",
                "severity": "error",
                "human": "Must have at least a name or a uri (or both)",
                "expression": "name.exists() or uri.exists()",
                "xpath": "exists(f:uri) or exists(f:name)"
              }
            ]
          },
          {
            "id": "StructureDefinition.mapping.id",
            "path": "StructureDefinition.mapping.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureDefinition.mapping.extension",
            "path": "StructureDefinition.mapping.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureDefinition.mapping.modifierExtension",
            "path": "StructureDefinition.mapping.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureDefinition.mapping.identity",
            "path": "StructureDefinition.mapping.identity",
            "comment": "The specification is described once, with general comments, and then specific mappings are made that reference this declaration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "StructureDefinition.mapping.uri",
            "path": "StructureDefinition.mapping.uri",
            "comment": "A formal identity for the specification being mapped to helps with identifying maps consistently.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "sdf-2"
            ]
          },
          {
            "id": "StructureDefinition.mapping.name",
            "path": "StructureDefinition.mapping.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "sdf-2"
            ]
          },
          {
            "id": "StructureDefinition.mapping.comment",
            "path": "StructureDefinition.mapping.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureDefinition.kind",
            "path": "StructureDefinition.kind",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureDefinitionKind"
                }
              ],
              "strength": "required",
              "description": "Defines the type of structure that a definition is describing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/structure-definition-kind"
              }
            }
          },
          {
            "id": "StructureDefinition.abstract",
            "path": "StructureDefinition.abstract",
            "comment": "Abstract Resources cannot be instantiated - a concrete sub-type must be used. Abstract datatypes and extensions cannot be used in an instance. For logical models, the exact implication of \"abstract\" will rest with the author, depending how the logical model is used. Flagging a constraint structure as abstract conveys design intent but makes no difference to how the structure definition is handled. Note that inline declared elements that are given the type \"Element\" in the profile, but have children described, are anonymous concrete types that specialise Element.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.contextType",
            "path": "StructureDefinition.contextType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "sdf-5"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ExtensionContext"
                }
              ],
              "strength": "required",
              "description": "How an extension context is interpreted.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/extension-context"
              }
            }
          },
          {
            "id": "StructureDefinition.context",
            "path": "StructureDefinition.context",
            "comment": "If the context is an element that can have multiple types, then use (e.g.) value[x] if the extension works on all choice types, or otherwise an enumeration of explicitly named elements if not. Note that a context of \"string\" doesn't mean that the extension can be used with one of the string patterns such as \"id\" etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "sdf-5"
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.contextInvariant",
            "path": "StructureDefinition.contextInvariant",
            "comment": "All the rules must be true. When evaluating the invariant, the fluentpath focus is the element that holds the extension, and %extension refers to the extension itself.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "sdf-18"
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.type",
            "path": "StructureDefinition.type",
            "comment": "Note that in the case of constraints, the type could be determined by chasing through the baseDefinition references until a concrete structure (derivation = specialization) is reached, or by looking at the path of the first element in the snapshot - if present - but providing the type directly makes for simpler tooling and indexing.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "sdf-4",
              "sdf-11"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FHIRDefinedTypeExt"
                }
              ],
              "strength": "extensible",
              "description": "Either a resource or a data type, including logical model types",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/defined-types"
              }
            }
          },
          {
            "id": "StructureDefinition.baseDefinition",
            "path": "StructureDefinition.baseDefinition",
            "comment": "If differential constraints are specified in this structure, they are applied to the base in a \"differential\" fashion. If there is no base, then the differential constraints cannot be provided (snapshot only). Differential structures are useful for the editing perspective, and snapshot structures are suitable for operational use. The FHIR Project provides a number of tools/services to populate snapshots from differential constraints. Logical Models have a base of \"Element\" or another logical model.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "sdf-4"
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.derivation",
            "path": "StructureDefinition.derivation",
            "comment": "If the definition is a specialization, then it adds new elements in the differential, and the snapshot includes the inherited elements.\n\nIf the definition is a constraint, then it can not define new elements, it can only make new rules about existing content (see [Profiling Resources](profiling.html#resources)).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "sdf-12"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TypeDerivationRule"
                }
              ],
              "strength": "required",
              "description": "How a type relates to its baseDefinition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/type-derivation-rule"
              }
            }
          },
          {
            "id": "StructureDefinition.snapshot",
            "path": "StructureDefinition.snapshot",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "sdf-6"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "sdf-15",
                "requirements": "No Type on the root element (snapshot)",
                "severity": "error",
                "human": "The first element in a snapshot has no type",
                "expression": "element.first().type.empty()",
                "xpath": "not(f:element[1]/f:type)"
              },
              {
                "key": "sdf-8",
                "severity": "error",
                "human": "In any snapshot, all the elements must be in the specified type",
                "expression": "element.first().path = %resource.type and element.tail().all(path.startsWith(%resource.type&'.'))",
                "xpath": "f:element[1]/f:path/@value=parent::f:StructureDefinition/f:type/@value and count(f:element[position()!=1])=count(f:element[position()!=1][starts-with(f:path/@value, concat(ancestor::f:StructureDefinition/f:type/@value, '.'))])"
              },
              {
                "key": "sdf-3",
                "severity": "error",
                "human": "Each element definition in a snapshot must have a formal definition and cardinalities",
                "expression": "element.all(definition and min and max)",
                "xpath": "count(f:element) = count(f:element[exists(f:definition) and exists(f:min) and exists(f:max)])"
              }
            ]
          },
          {
            "id": "StructureDefinition.snapshot.id",
            "path": "StructureDefinition.snapshot.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureDefinition.snapshot.extension",
            "path": "StructureDefinition.snapshot.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureDefinition.snapshot.modifierExtension",
            "path": "StructureDefinition.snapshot.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureDefinition.snapshot.element",
            "path": "StructureDefinition.snapshot.element",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "ElementDefinition"
              }
            ],
            "condition": [
              "sdf-3"
            ]
          },
          {
            "id": "StructureDefinition.differential",
            "path": "StructureDefinition.differential",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "sdf-6"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "sdf-15a",
                "requirements": "No Type on the root element (differential)",
                "severity": "error",
                "human": "If the first element in a differential has no \".\" in the path, it has no type",
                "expression": "element.first().path.contains('.').not() implies element.first().type.empty()",
                "xpath": "not(f:element[1][not(contains(f:path/@value, '.'))]/f:type)"
              },
              {
                "key": "sdf-20",
                "requirements": "no slicing on root",
                "severity": "error",
                "human": "No slicing on the root element",
                "expression": "element.first().slicing.empty()",
                "xpath": "not(f:element[1]/f:slicing)"
              },
              {
                "key": "sdf-8a",
                "severity": "error",
                "human": "In any differential, all the elements must be in the specified type",
                "expression": "element.first().path.startsWith(%resource.type) and element.tail().all(path.startsWith(%resource.type&'.'))",
                "xpath": "count(f:element)=count(f:element[f:path/@value=ancestor::f:StructureDefinition/f:type/@value or starts-with(f:path/@value, concat(ancestor::f:StructureDefinition/f:type/@value, '.'))])"
              }
            ]
          },
          {
            "id": "StructureDefinition.differential.id",
            "path": "StructureDefinition.differential.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureDefinition.differential.extension",
            "path": "StructureDefinition.differential.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureDefinition.differential.modifierExtension",
            "path": "StructureDefinition.differential.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureDefinition.differential.element",
            "path": "StructureDefinition.differential.element",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "ElementDefinition"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "StructureDefinition",
            "path": "StructureDefinition",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "sdf-9",
                "requirements": "Because these 3 fields seem to be have overlapping meaning with the ones in the root of StructureDefinition",
                "severity": "error",
                "human": "In any snapshot or differential, no label, code or requirements on the an element without a \".\" in the path (e.g. the first element)",
                "expression": "children().element.first().label.empty() and children().element.first().code.empty() and children().element.first().requirements.empty()",
                "xpath": "not(exists(f:snapshot/f:element[not(contains(f:path/@value, '.')) and (f:label or f:code or f:requirements)])) and not(exists(f:differential/f:element[not(contains(f:path/@value, '.')) and (f:label or f:code or f:requirements)]))"
              },
              {
                "key": "sdf-19",
                "requirements": "custom types only in logical models",
                "severity": "error",
                "human": "Custom types can only be used in logical models",
                "expression": "kind = 'logical' or (differential.element.type.code.all(hasValue() implies matches('^[a-zA-Z0-9]+$')) and snapshot.element.type.code.all(hasValue() implies matches('^[a-zA-Z0-9]+$')))",
                "xpath": "f:kind/@value = 'logical' or count(f:differential/f:element/f:type/f:code[@value and not(matches(string(@value), '^[a-zA-Z0-9]+$'))]|f:snapshot/f:element/f:type/f:code[@value and not(matches(string(@value), '^[a-zA-Z0-9]+$'))]) =0"
              },
              {
                "key": "sdf-16",
                "requirements": "element ids need to be unique",
                "severity": "error",
                "human": "All element definitions must have unique ids (snapshot)",
                "expression": "snapshot.element.id.trace('ids').isDistinct()",
                "xpath": "count(*/f:element)=count(*/f:element/@id)"
              },
              {
                "key": "sdf-18",
                "requirements": "contextInvariant",
                "severity": "error",
                "human": "Context Invariants can only be used for extensions",
                "expression": "contextInvariant.exists() implies type = 'Extension'",
                "xpath": "not(exists(f:contextInvariant)) or (f:type/@value = 'Extension')"
              },
              {
                "key": "sdf-17",
                "requirements": "element ids need to be unique",
                "severity": "error",
                "human": "All element definitions must have unique ids (diff)",
                "expression": "differential.element.id.trace('ids').isDistinct()",
                "xpath": "count(*/f:element)=count(*/f:element/@id)"
              },
              {
                "key": "sdf-12",
                "requirements": "Ensure that element.base appears with base or not",
                "severity": "error",
                "human": "element.base cannot appear if there is no base on the structure definition",
                "expression": "snapshot.exists() implies (snapshot.element.base.exists() = baseDefinition.exists())",
                "xpath": "f:baseDefinition or not(exists(f:snapshot/f:element/f:base) or exists(f:differential/f:element/f:base))"
              },
              {
                "key": "sdf-11",
                "requirements": "Ensure that the type is not inconsistent with the other information in the structure",
                "severity": "error",
                "human": "If there's a type, its content must match the path name in the first element of a snapshot",
                "expression": "snapshot.empty() or snapshot.element.first().path = type",
                "xpath": "not(exists(f:snapshot)) or (f:type/@value = f:snapshot/f:element[1]/f:path/@value)"
              },
              {
                "key": "sdf-14",
                "requirements": "elements have id",
                "severity": "error",
                "human": "All element definitions must have an id",
                "expression": "snapshot.element.all(id.exists()) and differential.element.all(id.exists())",
                "xpath": "count(*/f:element)=count(*/f:element/@id)"
              },
              {
                "key": "sdf-1",
                "severity": "error",
                "human": "Element paths must be unique unless the structure is a constraint",
                "expression": "derivation = 'constraint' or snapshot.element.select(path).isDistinct()",
                "xpath": "(f:derivation/@value = 'constraint') or (count(f:snapshot/f:element) = count(distinct-values(f:snapshot/f:element/f:path/@value)))"
              },
              {
                "key": "sdf-7",
                "severity": "error",
                "human": "If the structure describes a base Resource or Type, the URL has to start with \"http://hl7.org/fhir/StructureDefinition/\" and the tail must match the id",
                "expression": "(derivation = 'constraint') or (kind = 'logical') or (url = 'http://hl7.org/fhir/StructureDefinition/'+id)",
                "xpath": "(f:derivation/@value = 'constraint') or (f:kind/@value = 'logical') or (f:url/@value=concat('http://hl7.org/fhir/StructureDefinition/', f:id/@value))"
              },
              {
                "key": "sdf-6",
                "severity": "error",
                "human": "A structure must have either a differential, or a snapshot (or both)",
                "expression": "snapshot.exists() or differential.exists()",
                "xpath": "exists(f:snapshot) or exists(f:differential)"
              },
              {
                "key": "sdf-5",
                "severity": "error",
                "human": "If the structure defines an extension then the structure must have context information",
                "expression": "type != 'Extension' or derivation = 'specialization' or (context.exists() and contextType.exists())",
                "xpath": "not(f:type/@value = 'extension') or (f:derivation/@value = 'specialization') or (exists(f:context) and exists(f:contextType))"
              },
              {
                "key": "sdf-4",
                "requirements": "Ensure that the base types are abstract",
                "severity": "error",
                "human": "If the structure is not abstract, then there SHALL be a baseDefinition",
                "expression": "abstract = true or baseDefinition.exists()",
                "xpath": "(f:abstract/@value=true()) or exists(f:baseDefinition)"
              }
            ]
          },
          {
            "id": "StructureDefinition.url",
            "path": "StructureDefinition.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.identifier",
            "path": "StructureDefinition.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this structure definition outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.version",
            "path": "StructureDefinition.version",
            "comment": "There may be different structure definition instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the structure definition with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.name",
            "path": "StructureDefinition.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.title",
            "path": "StructureDefinition.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc. Applications don't have to use this name, but can always fall back to it. The title also corresponds to the label for the root element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.status",
            "path": "StructureDefinition.status",
            "comment": "Allows filtering of structure definitions that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired structure definition without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "StructureDefinition.experimental",
            "path": "StructureDefinition.experimental",
            "comment": "Allows filtering of structure definition that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental structure definition in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureDefinition.date",
            "path": "StructureDefinition.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure definition. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.publisher",
            "path": "StructureDefinition.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the structure definition is the organization or individual primarily responsible for the maintenance and upkeep of the structure definition. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure definition. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.contact",
            "path": "StructureDefinition.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.description",
            "path": "StructureDefinition.description",
            "comment": "This description can be used to capture details such as why the structure definition was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure definition as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "StructureDefinition.useContext",
            "path": "StructureDefinition.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.jurisdiction",
            "path": "StructureDefinition.jurisdiction",
            "comment": "It may be possible for the structure definition to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "StructureDefinition.purpose",
            "path": "StructureDefinition.purpose",
            "comment": "This element does not describe the usage of the structure definition Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this structure definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "StructureDefinition.copyright",
            "path": "StructureDefinition.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "StructureDefinition.keyword",
            "path": "StructureDefinition.keyword",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureDefinitionCode"
                }
              ],
              "strength": "example",
              "description": "Codes for the meaning of the defined structure (SNOMED CT and LOINC codes, as an example).",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/profile-code"
              }
            }
          },
          {
            "id": "StructureDefinition.fhirVersion",
            "path": "StructureDefinition.fhirVersion",
            "comment": "A StructureDefinition does not need to specify the target it applies to,as StructureDefinitions will often be valid across multiple versions of FHIR. FHIR tooling can determine whether a StructureDefinition is consistent with a particular StructureDefinition if desired.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.mapping",
            "path": "StructureDefinition.mapping",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "sdf-2",
                "severity": "error",
                "human": "Must have at least a name or a uri (or both)",
                "expression": "name.exists() or uri.exists()",
                "xpath": "exists(f:uri) or exists(f:name)"
              }
            ]
          },
          {
            "id": "StructureDefinition.mapping.identity",
            "path": "StructureDefinition.mapping.identity",
            "comment": "The specification is described once, with general comments, and then specific mappings are made that reference this declaration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "StructureDefinition.mapping.uri",
            "path": "StructureDefinition.mapping.uri",
            "comment": "A formal identity for the specification being mapped to helps with identifying maps consistently.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "sdf-2"
            ]
          },
          {
            "id": "StructureDefinition.mapping.name",
            "path": "StructureDefinition.mapping.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "sdf-2"
            ]
          },
          {
            "id": "StructureDefinition.mapping.comment",
            "path": "StructureDefinition.mapping.comment",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureDefinition.kind",
            "path": "StructureDefinition.kind",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureDefinitionKind"
                }
              ],
              "strength": "required",
              "description": "Defines the type of structure that a definition is describing.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/structure-definition-kind"
              }
            }
          },
          {
            "id": "StructureDefinition.abstract",
            "path": "StructureDefinition.abstract",
            "comment": "Abstract Resources cannot be instantiated - a concrete sub-type must be used. Abstract datatypes and extensions cannot be used in an instance. For logical models, the exact implication of \"abstract\" will rest with the author, depending how the logical model is used. Flagging a constraint structure as abstract conveys design intent but makes no difference to how the structure definition is handled. Note that inline declared elements that are given the type \"Element\" in the profile, but have children described, are anonymous concrete types that specialise Element.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.contextType",
            "path": "StructureDefinition.contextType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "sdf-5"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ExtensionContext"
                }
              ],
              "strength": "required",
              "description": "How an extension context is interpreted.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/extension-context"
              }
            }
          },
          {
            "id": "StructureDefinition.context",
            "path": "StructureDefinition.context",
            "comment": "If the context is an element that can have multiple types, then use (e.g.) value[x] if the extension works on all choice types, or otherwise an enumeration of explicitly named elements if not. Note that a context of \"string\" doesn't mean that the extension can be used with one of the string patterns such as \"id\" etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "sdf-5"
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.contextInvariant",
            "path": "StructureDefinition.contextInvariant",
            "comment": "All the rules must be true. When evaluating the invariant, the fluentpath focus is the element that holds the extension, and %extension refers to the extension itself.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "sdf-18"
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.type",
            "path": "StructureDefinition.type",
            "comment": "Note that in the case of constraints, the type could be determined by chasing through the baseDefinition references until a concrete structure (derivation = specialization) is reached, or by looking at the path of the first element in the snapshot - if present - but providing the type directly makes for simpler tooling and indexing.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "sdf-4",
              "sdf-11"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FHIRDefinedTypeExt"
                }
              ],
              "strength": "extensible",
              "description": "Either a resource or a data type, including logical model types",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/defined-types"
              }
            }
          },
          {
            "id": "StructureDefinition.baseDefinition",
            "path": "StructureDefinition.baseDefinition",
            "comment": "If differential constraints are specified in this structure, they are applied to the base in a \"differential\" fashion. If there is no base, then the differential constraints cannot be provided (snapshot only). Differential structures are useful for the editing perspective, and snapshot structures are suitable for operational use. The FHIR Project provides a number of tools/services to populate snapshots from differential constraints. Logical Models have a base of \"Element\" or another logical model.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "sdf-4"
            ],
            "isSummary": true
          },
          {
            "id": "StructureDefinition.derivation",
            "path": "StructureDefinition.derivation",
            "comment": "If the definition is a specialization, then it adds new elements in the differential, and the snapshot includes the inherited elements.\n\nIf the definition is a constraint, then it can not define new elements, it can only make new rules about existing content (see [Profiling Resources](profiling.html#resources)).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "sdf-12"
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TypeDerivationRule"
                }
              ],
              "strength": "required",
              "description": "How a type relates to its baseDefinition.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/type-derivation-rule"
              }
            }
          },
          {
            "id": "StructureDefinition.snapshot",
            "path": "StructureDefinition.snapshot",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "sdf-6"
            ],
            "constraint": [
              {
                "key": "sdf-15",
                "requirements": "No Type on the root element (snapshot)",
                "severity": "error",
                "human": "The first element in a snapshot has no type",
                "expression": "element.first().type.empty()",
                "xpath": "not(f:element[1]/f:type)"
              },
              {
                "key": "sdf-8",
                "severity": "error",
                "human": "In any snapshot, all the elements must be in the specified type",
                "expression": "element.first().path = %resource.type and element.tail().all(path.startsWith(%resource.type&'.'))",
                "xpath": "f:element[1]/f:path/@value=parent::f:StructureDefinition/f:type/@value and count(f:element[position()!=1])=count(f:element[position()!=1][starts-with(f:path/@value, concat(ancestor::f:StructureDefinition/f:type/@value, '.'))])"
              },
              {
                "key": "sdf-3",
                "severity": "error",
                "human": "Each element definition in a snapshot must have a formal definition and cardinalities",
                "expression": "element.all(definition and min and max)",
                "xpath": "count(f:element) = count(f:element[exists(f:definition) and exists(f:min) and exists(f:max)])"
              }
            ]
          },
          {
            "id": "StructureDefinition.snapshot.element",
            "path": "StructureDefinition.snapshot.element",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "ElementDefinition"
              }
            ],
            "condition": [
              "sdf-3"
            ]
          },
          {
            "id": "StructureDefinition.differential",
            "path": "StructureDefinition.differential",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "sdf-6"
            ],
            "constraint": [
              {
                "key": "sdf-15a",
                "requirements": "No Type on the root element (differential)",
                "severity": "error",
                "human": "If the first element in a differential has no \".\" in the path, it has no type",
                "expression": "element.first().path.contains('.').not() implies element.first().type.empty()",
                "xpath": "not(f:element[1][not(contains(f:path/@value, '.'))]/f:type)"
              },
              {
                "key": "sdf-20",
                "requirements": "no slicing on root",
                "severity": "error",
                "human": "No slicing on the root element",
                "expression": "element.first().slicing.empty()",
                "xpath": "not(f:element[1]/f:slicing)"
              },
              {
                "key": "sdf-8a",
                "severity": "error",
                "human": "In any differential, all the elements must be in the specified type",
                "expression": "element.first().path.startsWith(%resource.type) and element.tail().all(path.startsWith(%resource.type&'.'))",
                "xpath": "count(f:element)=count(f:element[f:path/@value=ancestor::f:StructureDefinition/f:type/@value or starts-with(f:path/@value, concat(ancestor::f:StructureDefinition/f:type/@value, '.'))])"
              }
            ]
          },
          {
            "id": "StructureDefinition.differential.element",
            "path": "StructureDefinition.differential.element",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "ElementDefinition"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/StructureMap",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "StructureMap",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/StructureMap",
      "name": "StructureMap",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "StructureMap",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "StructureMap",
            "path": "StructureMap",
            "min": 1,
            "max": "1",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "StructureMap.id",
            "path": "StructureMap.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.meta",
            "path": "StructureMap.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.implicitRules",
            "path": "StructureMap.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureMap.language",
            "path": "StructureMap.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "StructureMap.text",
            "path": "StructureMap.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "StructureMap.contained",
            "path": "StructureMap.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "StructureMap.extension",
            "path": "StructureMap.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureMap.modifierExtension",
            "path": "StructureMap.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "StructureMap.url",
            "path": "StructureMap.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.identifier",
            "path": "StructureMap.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this structure map outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.version",
            "path": "StructureMap.version",
            "comment": "There may be different structure map instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the structure map with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.name",
            "path": "StructureMap.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.title",
            "path": "StructureMap.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.status",
            "path": "StructureMap.status",
            "comment": "Allows filtering of structure maps that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired structure map without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "StructureMap.experimental",
            "path": "StructureMap.experimental",
            "comment": "Allows filtering of structure map that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental structure map in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureMap.date",
            "path": "StructureMap.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.publisher",
            "path": "StructureMap.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the structure map is the organization or individual primarily responsible for the maintenance and upkeep of the structure map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure map. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.contact",
            "path": "StructureMap.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.description",
            "path": "StructureMap.description",
            "comment": "This description can be used to capture details such as why the structure map was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure map as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "StructureMap.useContext",
            "path": "StructureMap.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.jurisdiction",
            "path": "StructureMap.jurisdiction",
            "comment": "It may be possible for the structure map to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "StructureMap.purpose",
            "path": "StructureMap.purpose",
            "comment": "This element does not describe the usage of the structure map Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this structure map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "StructureMap.copyright",
            "path": "StructureMap.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "StructureMap.structure",
            "path": "StructureMap.structure",
            "comment": "It is not necessary for a structure map to identify any dependent structures, though not losting them may restrict its usefulness.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.structure.id",
            "path": "StructureMap.structure.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureMap.structure.extension",
            "path": "StructureMap.structure.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureMap.structure.modifierExtension",
            "path": "StructureMap.structure.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureMap.structure.url",
            "path": "StructureMap.structure.url",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.structure.mode",
            "path": "StructureMap.structure.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapModelMode"
                }
              ],
              "strength": "required",
              "description": "How the referenced structure is used in this mapping",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-model-mode"
              }
            }
          },
          {
            "id": "StructureMap.structure.alias",
            "path": "StructureMap.structure.alias",
            "comment": "This is needed if both types have the same name (e.g. version conversion).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.structure.documentation",
            "path": "StructureMap.structure.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureMap.import",
            "path": "StructureMap.import",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group",
            "path": "StructureMap.group",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.id",
            "path": "StructureMap.group.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureMap.group.extension",
            "path": "StructureMap.group.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureMap.group.modifierExtension",
            "path": "StructureMap.group.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureMap.group.name",
            "path": "StructureMap.group.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.extends",
            "path": "StructureMap.group.extends",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.typeMode",
            "path": "StructureMap.group.typeMode",
            "comment": "Not applicable if the underlying model is untyped. There can only be one default mapping for any particular type combination.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapGroupTypeMode"
                }
              ],
              "strength": "required",
              "description": "If this is the default rule set to apply for the source type, or this combination of types",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-group-type-mode"
              }
            }
          },
          {
            "id": "StructureMap.group.documentation",
            "path": "StructureMap.group.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.input",
            "path": "StructureMap.group.input",
            "comment": "If no inputs are named, then the entry mappings are type based.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.input.id",
            "path": "StructureMap.group.input.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureMap.group.input.extension",
            "path": "StructureMap.group.input.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureMap.group.input.modifierExtension",
            "path": "StructureMap.group.input.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureMap.group.input.name",
            "path": "StructureMap.group.input.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.input.type",
            "path": "StructureMap.group.input.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.input.mode",
            "path": "StructureMap.group.input.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapInputMode"
                }
              ],
              "strength": "required",
              "description": "Mode for this instance of data",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-input-mode"
              }
            }
          },
          {
            "id": "StructureMap.group.input.documentation",
            "path": "StructureMap.group.input.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureMap.group.rule",
            "path": "StructureMap.group.rule",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.id",
            "path": "StructureMap.group.rule.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureMap.group.rule.extension",
            "path": "StructureMap.group.rule.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureMap.group.rule.modifierExtension",
            "path": "StructureMap.group.rule.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.name",
            "path": "StructureMap.group.rule.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source",
            "path": "StructureMap.group.rule.source",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.id",
            "path": "StructureMap.group.rule.source.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureMap.group.rule.source.extension",
            "path": "StructureMap.group.rule.source.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureMap.group.rule.source.modifierExtension",
            "path": "StructureMap.group.rule.source.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.context",
            "path": "StructureMap.group.rule.source.context",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.min",
            "path": "StructureMap.group.rule.source.min",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.max",
            "path": "StructureMap.group.rule.source.max",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.type",
            "path": "StructureMap.group.rule.source.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.defaultValue[x]",
            "path": "StructureMap.group.rule.source.defaultValue[x]",
            "comment": "If there's a default value on an item that can repeat, it will only be used once.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              },
              {
                "code": "boolean"
              },
              {
                "code": "code"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "decimal"
              },
              {
                "code": "id"
              },
              {
                "code": "instant"
              },
              {
                "code": "integer"
              },
              {
                "code": "markdown"
              },
              {
                "code": "oid"
              },
              {
                "code": "positiveInt"
              },
              {
                "code": "string"
              },
              {
                "code": "time"
              },
              {
                "code": "unsignedInt"
              },
              {
                "code": "uri"
              },
              {
                "code": "Address"
              },
              {
                "code": "Age"
              },
              {
                "code": "Annotation"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Coding"
              },
              {
                "code": "ContactPoint"
              },
              {
                "code": "Count"
              },
              {
                "code": "Distance"
              },
              {
                "code": "Duration"
              },
              {
                "code": "HumanName"
              },
              {
                "code": "Identifier"
              },
              {
                "code": "Money"
              },
              {
                "code": "Period"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              },
              {
                "code": "Ratio"
              },
              {
                "code": "Reference"
              },
              {
                "code": "SampledData"
              },
              {
                "code": "Signature"
              },
              {
                "code": "Timing"
              },
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.element",
            "path": "StructureMap.group.rule.source.element",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.listMode",
            "path": "StructureMap.group.rule.source.listMode",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapSourceListMode"
                }
              ],
              "strength": "required",
              "description": "If field is a list, how to manage the source",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-source-list-mode"
              }
            }
          },
          {
            "id": "StructureMap.group.rule.source.variable",
            "path": "StructureMap.group.rule.source.variable",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.condition",
            "path": "StructureMap.group.rule.source.condition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.check",
            "path": "StructureMap.group.rule.source.check",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target",
            "path": "StructureMap.group.rule.target",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "smp-2",
                "severity": "error",
                "human": "Must have a contextType if you have a context",
                "expression": "context.exists() implies contextType.exists()",
                "xpath": "not(f:context) or (f:contextType)"
              },
              {
                "key": "smp-1",
                "severity": "error",
                "human": "Can only have a element if you have a context",
                "expression": "element.exists() implies context.exists()",
                "xpath": "not(f:element) or (f:context)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.id",
            "path": "StructureMap.group.rule.target.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureMap.group.rule.target.extension",
            "path": "StructureMap.group.rule.target.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureMap.group.rule.target.modifierExtension",
            "path": "StructureMap.group.rule.target.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.context",
            "path": "StructureMap.group.rule.target.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.contextType",
            "path": "StructureMap.group.rule.target.contextType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapContextType"
                }
              ],
              "strength": "required",
              "description": "How to interpret the context",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-context-type"
              }
            }
          },
          {
            "id": "StructureMap.group.rule.target.element",
            "path": "StructureMap.group.rule.target.element",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.variable",
            "path": "StructureMap.group.rule.target.variable",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.listMode",
            "path": "StructureMap.group.rule.target.listMode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapTargetListMode"
                }
              ],
              "strength": "required",
              "description": "If field is a list, how to manage the production",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-target-list-mode"
              }
            }
          },
          {
            "id": "StructureMap.group.rule.target.listRuleId",
            "path": "StructureMap.group.rule.target.listRuleId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.transform",
            "path": "StructureMap.group.rule.target.transform",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapTransform"
                }
              ],
              "strength": "required",
              "description": "How data is copied/created",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-transform"
              }
            }
          },
          {
            "id": "StructureMap.group.rule.target.parameter",
            "path": "StructureMap.group.rule.target.parameter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.parameter.id",
            "path": "StructureMap.group.rule.target.parameter.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureMap.group.rule.target.parameter.extension",
            "path": "StructureMap.group.rule.target.parameter.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureMap.group.rule.target.parameter.modifierExtension",
            "path": "StructureMap.group.rule.target.parameter.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.parameter.value[x]",
            "path": "StructureMap.group.rule.target.parameter.value[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              },
              {
                "code": "string"
              },
              {
                "code": "boolean"
              },
              {
                "code": "integer"
              },
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.rule",
            "path": "StructureMap.group.rule.rule",
            "min": 0,
            "max": "*",
            "contentReference": "#StructureMap.group.rule",
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.dependent",
            "path": "StructureMap.group.rule.dependent",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.dependent.id",
            "path": "StructureMap.group.rule.dependent.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureMap.group.rule.dependent.extension",
            "path": "StructureMap.group.rule.dependent.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "StructureMap.group.rule.dependent.modifierExtension",
            "path": "StructureMap.group.rule.dependent.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.dependent.name",
            "path": "StructureMap.group.rule.dependent.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.dependent.variable",
            "path": "StructureMap.group.rule.dependent.variable",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.documentation",
            "path": "StructureMap.group.rule.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "StructureMap",
            "path": "StructureMap",
            "min": 1,
            "max": "1"
          },
          {
            "id": "StructureMap.url",
            "path": "StructureMap.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.identifier",
            "path": "StructureMap.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this structure map outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.version",
            "path": "StructureMap.version",
            "comment": "There may be different structure map instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the structure map with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.name",
            "path": "StructureMap.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.title",
            "path": "StructureMap.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.status",
            "path": "StructureMap.status",
            "comment": "Allows filtering of structure maps that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired structure map without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "StructureMap.experimental",
            "path": "StructureMap.experimental",
            "comment": "Allows filtering of structure map that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental structure map in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "StructureMap.date",
            "path": "StructureMap.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the structure map. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.publisher",
            "path": "StructureMap.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the structure map is the organization or individual primarily responsible for the maintenance and upkeep of the structure map. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the structure map. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.contact",
            "path": "StructureMap.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.description",
            "path": "StructureMap.description",
            "comment": "This description can be used to capture details such as why the structure map was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the structure map as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "StructureMap.useContext",
            "path": "StructureMap.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.jurisdiction",
            "path": "StructureMap.jurisdiction",
            "comment": "It may be possible for the structure map to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "StructureMap.purpose",
            "path": "StructureMap.purpose",
            "comment": "This element does not describe the usage of the structure map Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this structure map.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "StructureMap.copyright",
            "path": "StructureMap.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "StructureMap.structure",
            "path": "StructureMap.structure",
            "comment": "It is not necessary for a structure map to identify any dependent structures, though not losting them may restrict its usefulness.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.structure.url",
            "path": "StructureMap.structure.url",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.structure.mode",
            "path": "StructureMap.structure.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapModelMode"
                }
              ],
              "strength": "required",
              "description": "How the referenced structure is used in this mapping",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-model-mode"
              }
            }
          },
          {
            "id": "StructureMap.structure.alias",
            "path": "StructureMap.structure.alias",
            "comment": "This is needed if both types have the same name (e.g. version conversion).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.structure.documentation",
            "path": "StructureMap.structure.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureMap.import",
            "path": "StructureMap.import",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group",
            "path": "StructureMap.group",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.name",
            "path": "StructureMap.group.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.extends",
            "path": "StructureMap.group.extends",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.typeMode",
            "path": "StructureMap.group.typeMode",
            "comment": "Not applicable if the underlying model is untyped. There can only be one default mapping for any particular type combination.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapGroupTypeMode"
                }
              ],
              "strength": "required",
              "description": "If this is the default rule set to apply for the source type, or this combination of types",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-group-type-mode"
              }
            }
          },
          {
            "id": "StructureMap.group.documentation",
            "path": "StructureMap.group.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.input",
            "path": "StructureMap.group.input",
            "comment": "If no inputs are named, then the entry mappings are type based.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.input.name",
            "path": "StructureMap.group.input.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.input.type",
            "path": "StructureMap.group.input.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.input.mode",
            "path": "StructureMap.group.input.mode",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapInputMode"
                }
              ],
              "strength": "required",
              "description": "Mode for this instance of data",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-input-mode"
              }
            }
          },
          {
            "id": "StructureMap.group.input.documentation",
            "path": "StructureMap.group.input.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "StructureMap.group.rule",
            "path": "StructureMap.group.rule",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.name",
            "path": "StructureMap.group.rule.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source",
            "path": "StructureMap.group.rule.source",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.context",
            "path": "StructureMap.group.rule.source.context",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.min",
            "path": "StructureMap.group.rule.source.min",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.max",
            "path": "StructureMap.group.rule.source.max",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.type",
            "path": "StructureMap.group.rule.source.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.defaultValue[x]",
            "path": "StructureMap.group.rule.source.defaultValue[x]",
            "comment": "If there's a default value on an item that can repeat, it will only be used once.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              },
              {
                "code": "boolean"
              },
              {
                "code": "code"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "decimal"
              },
              {
                "code": "id"
              },
              {
                "code": "instant"
              },
              {
                "code": "integer"
              },
              {
                "code": "markdown"
              },
              {
                "code": "oid"
              },
              {
                "code": "positiveInt"
              },
              {
                "code": "string"
              },
              {
                "code": "time"
              },
              {
                "code": "unsignedInt"
              },
              {
                "code": "uri"
              },
              {
                "code": "Address"
              },
              {
                "code": "Age"
              },
              {
                "code": "Annotation"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Coding"
              },
              {
                "code": "ContactPoint"
              },
              {
                "code": "Count"
              },
              {
                "code": "Distance"
              },
              {
                "code": "Duration"
              },
              {
                "code": "HumanName"
              },
              {
                "code": "Identifier"
              },
              {
                "code": "Money"
              },
              {
                "code": "Period"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              },
              {
                "code": "Ratio"
              },
              {
                "code": "Reference"
              },
              {
                "code": "SampledData"
              },
              {
                "code": "Signature"
              },
              {
                "code": "Timing"
              },
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.element",
            "path": "StructureMap.group.rule.source.element",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.listMode",
            "path": "StructureMap.group.rule.source.listMode",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapSourceListMode"
                }
              ],
              "strength": "required",
              "description": "If field is a list, how to manage the source",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-source-list-mode"
              }
            }
          },
          {
            "id": "StructureMap.group.rule.source.variable",
            "path": "StructureMap.group.rule.source.variable",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.condition",
            "path": "StructureMap.group.rule.source.condition",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.source.check",
            "path": "StructureMap.group.rule.source.check",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target",
            "path": "StructureMap.group.rule.target",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "smp-2",
                "severity": "error",
                "human": "Must have a contextType if you have a context",
                "expression": "context.exists() implies contextType.exists()",
                "xpath": "not(f:context) or (f:contextType)"
              },
              {
                "key": "smp-1",
                "severity": "error",
                "human": "Can only have a element if you have a context",
                "expression": "element.exists() implies context.exists()",
                "xpath": "not(f:element) or (f:context)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.context",
            "path": "StructureMap.group.rule.target.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.contextType",
            "path": "StructureMap.group.rule.target.contextType",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapContextType"
                }
              ],
              "strength": "required",
              "description": "How to interpret the context",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-context-type"
              }
            }
          },
          {
            "id": "StructureMap.group.rule.target.element",
            "path": "StructureMap.group.rule.target.element",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.variable",
            "path": "StructureMap.group.rule.target.variable",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.listMode",
            "path": "StructureMap.group.rule.target.listMode",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapTargetListMode"
                }
              ],
              "strength": "required",
              "description": "If field is a list, how to manage the production",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-target-list-mode"
              }
            }
          },
          {
            "id": "StructureMap.group.rule.target.listRuleId",
            "path": "StructureMap.group.rule.target.listRuleId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.transform",
            "path": "StructureMap.group.rule.target.transform",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "StructureMapTransform"
                }
              ],
              "strength": "required",
              "description": "How data is copied/created",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/map-transform"
              }
            }
          },
          {
            "id": "StructureMap.group.rule.target.parameter",
            "path": "StructureMap.group.rule.target.parameter",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.target.parameter.value[x]",
            "path": "StructureMap.group.rule.target.parameter.value[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              },
              {
                "code": "string"
              },
              {
                "code": "boolean"
              },
              {
                "code": "integer"
              },
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.rule",
            "path": "StructureMap.group.rule.rule",
            "min": 0,
            "max": "*",
            "contentReference": "#StructureMap.group.rule",
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.dependent",
            "path": "StructureMap.group.rule.dependent",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.dependent.name",
            "path": "StructureMap.group.rule.dependent.name",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.dependent.variable",
            "path": "StructureMap.group.rule.dependent.variable",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "StructureMap.group.rule.documentation",
            "path": "StructureMap.group.rule.documentation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Subscription",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Subscription",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 3
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Subscription",
      "name": "Subscription",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Subscription",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Subscription",
            "path": "Subscription",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Subscription.id",
            "path": "Subscription.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.meta",
            "path": "Subscription.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.implicitRules",
            "path": "Subscription.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Subscription.language",
            "path": "Subscription.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Subscription.text",
            "path": "Subscription.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Subscription.contained",
            "path": "Subscription.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Subscription.extension",
            "path": "Subscription.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Subscription.modifierExtension",
            "path": "Subscription.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Subscription.status",
            "path": "Subscription.status",
            "comment": "A client can only submit subscription resources in the requested or off state. Only the server can  move a subscription from requested to active, and then to error. Either the server or the client can turn a subscription off.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubscriptionStatus"
                }
              ],
              "strength": "required",
              "description": "The status of a subscription.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/subscription-status"
              }
            }
          },
          {
            "id": "Subscription.contact",
            "path": "Subscription.contact",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.end",
            "path": "Subscription.end",
            "comment": "The server is permitted to deviate from this time, but should observe it.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.reason",
            "path": "Subscription.reason",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.criteria",
            "path": "Subscription.criteria",
            "comment": "The rules are a search criteria (without the [base] part). Like Bundle.entry.request.url, it has no leading \"/\".",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.error",
            "path": "Subscription.error",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.channel",
            "path": "Subscription.channel",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.channel.id",
            "path": "Subscription.channel.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Subscription.channel.extension",
            "path": "Subscription.channel.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Subscription.channel.modifierExtension",
            "path": "Subscription.channel.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Subscription.channel.type",
            "path": "Subscription.channel.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubscriptionChannelType"
                }
              ],
              "strength": "required",
              "description": "The type of method used to execute a subscription.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/subscription-channel-type"
              }
            }
          },
          {
            "id": "Subscription.channel.endpoint",
            "path": "Subscription.channel.endpoint",
            "comment": "For rest-hook, and websocket, the end-point must be an http: or https: URL; for email, a mailto: url, for sms, a tel: url, and for message the endpoint can be in any form of url the server understands (usually, http: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since their may be more than one, clients should avoid using relative URIs).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.channel.payload",
            "path": "Subscription.channel.payload",
            "comment": "Sending the payload has obvious security implications. The server is responsible for ensuring that the content is appropriately secured.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.channel.header",
            "path": "Subscription.channel.header",
            "comment": "Exactly what these mean depend on the channel type. They can convey additional information to the recipient and/or meet security requirements; for example, support of multiple headers in the outgoing notifications for rest-hook type subscriptions.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.tag",
            "path": "Subscription.tag",
            "comment": "So that other systems can tell which resources have been the subject of a notification.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubscriptionTag"
                }
              ],
              "strength": "example",
              "description": "Tags to put on a resource after subscriptions have been sent.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/subscription-tag"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Subscription",
            "path": "Subscription",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Subscription.status",
            "path": "Subscription.status",
            "comment": "A client can only submit subscription resources in the requested or off state. Only the server can  move a subscription from requested to active, and then to error. Either the server or the client can turn a subscription off.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubscriptionStatus"
                }
              ],
              "strength": "required",
              "description": "The status of a subscription.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/subscription-status"
              }
            }
          },
          {
            "id": "Subscription.contact",
            "path": "Subscription.contact",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactPoint"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.end",
            "path": "Subscription.end",
            "comment": "The server is permitted to deviate from this time, but should observe it.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "instant"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.reason",
            "path": "Subscription.reason",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.criteria",
            "path": "Subscription.criteria",
            "comment": "The rules are a search criteria (without the [base] part). Like Bundle.entry.request.url, it has no leading \"/\".",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.error",
            "path": "Subscription.error",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.channel",
            "path": "Subscription.channel",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.channel.type",
            "path": "Subscription.channel.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubscriptionChannelType"
                }
              ],
              "strength": "required",
              "description": "The type of method used to execute a subscription.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/subscription-channel-type"
              }
            }
          },
          {
            "id": "Subscription.channel.endpoint",
            "path": "Subscription.channel.endpoint",
            "comment": "For rest-hook, and websocket, the end-point must be an http: or https: URL; for email, a mailto: url, for sms, a tel: url, and for message the endpoint can be in any form of url the server understands (usually, http: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since their may be more than one, clients should avoid using relative URIs).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.channel.payload",
            "path": "Subscription.channel.payload",
            "comment": "Sending the payload has obvious security implications. The server is responsible for ensuring that the content is appropriately secured.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.channel.header",
            "path": "Subscription.channel.header",
            "comment": "Exactly what these mean depend on the channel type. They can convey additional information to the recipient and/or meet security requirements; for example, support of multiple headers in the outgoing notifications for rest-hook type subscriptions.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Subscription.tag",
            "path": "Subscription.tag",
            "comment": "So that other systems can tell which resources have been the subject of a notification.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubscriptionTag"
                }
              ],
              "strength": "example",
              "description": "Tags to put on a resource after subscriptions have been sent.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/subscription-tag"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Substance",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Substance",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Substance",
      "name": "Substance",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Substance",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Substance",
            "path": "Substance",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "Substance.id",
            "path": "Substance.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.meta",
            "path": "Substance.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.implicitRules",
            "path": "Substance.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Substance.language",
            "path": "Substance.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Substance.text",
            "path": "Substance.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Substance.contained",
            "path": "Substance.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Substance.extension",
            "path": "Substance.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Substance.modifierExtension",
            "path": "Substance.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Substance.identifier",
            "path": "Substance.identifier",
            "comment": "This identifier is associated with the kind of substance in contrast to the  Substance.instance.identifier which is associated with the package/container.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.status",
            "path": "Substance.status",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FHIRSubstanceStatus"
                }
              ],
              "strength": "required",
              "description": "A code to indicate if the substance is actively used",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/substance-status"
              }
            }
          },
          {
            "id": "Substance.category",
            "path": "Substance.category",
            "comment": "The level of granularity is defined by the category concepts in the value set.   More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in Substance.code.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubstanceCategory"
                }
              ],
              "strength": "extensible",
              "description": "Category or classification of substance",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/substance-category"
              }
            }
          },
          {
            "id": "Substance.code",
            "path": "Substance.code",
            "comment": "This could be a reference to an externally defined code.  It could also be a locally assigned code (e.g. a formulary),  optionally with translations to the standard drug codes.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubstanceCode"
                }
              ],
              "strength": "example",
              "description": "Substance codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/substance-code"
              }
            }
          },
          {
            "id": "Substance.description",
            "path": "Substance.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.instance",
            "path": "Substance.instance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "meaningWhenMissing": "If this element is not present, then the substance resource describes a kind of substance",
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.instance.id",
            "path": "Substance.instance.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Substance.instance.extension",
            "path": "Substance.instance.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Substance.instance.modifierExtension",
            "path": "Substance.instance.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Substance.instance.identifier",
            "path": "Substance.instance.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.instance.expiry",
            "path": "Substance.instance.expiry",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.instance.quantity",
            "path": "Substance.instance.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.ingredient",
            "path": "Substance.ingredient",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.ingredient.id",
            "path": "Substance.ingredient.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Substance.ingredient.extension",
            "path": "Substance.ingredient.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Substance.ingredient.modifierExtension",
            "path": "Substance.ingredient.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Substance.ingredient.quantity",
            "path": "Substance.ingredient.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Ratio"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.ingredient.substance[x]",
            "path": "Substance.ingredient.substance[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubstanceIngredient"
                }
              ],
              "strength": "example",
              "description": "Substance Ingredient codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/substance-code"
              }
            }
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Substance",
            "path": "Substance",
            "min": 0,
            "max": "*"
          },
          {
            "id": "Substance.identifier",
            "path": "Substance.identifier",
            "comment": "This identifier is associated with the kind of substance in contrast to the  Substance.instance.identifier which is associated with the package/container.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.status",
            "path": "Substance.status",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FHIRSubstanceStatus"
                }
              ],
              "strength": "required",
              "description": "A code to indicate if the substance is actively used",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/substance-status"
              }
            }
          },
          {
            "id": "Substance.category",
            "path": "Substance.category",
            "comment": "The level of granularity is defined by the category concepts in the value set.   More fine-grained filtering can be performed using the metadata and/or terminology hierarchy in Substance.code.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubstanceCategory"
                }
              ],
              "strength": "extensible",
              "description": "Category or classification of substance",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/substance-category"
              }
            }
          },
          {
            "id": "Substance.code",
            "path": "Substance.code",
            "comment": "This could be a reference to an externally defined code.  It could also be a locally assigned code (e.g. a formulary),  optionally with translations to the standard drug codes.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubstanceCode"
                }
              ],
              "strength": "example",
              "description": "Substance codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/substance-code"
              }
            }
          },
          {
            "id": "Substance.description",
            "path": "Substance.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.instance",
            "path": "Substance.instance",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "meaningWhenMissing": "If this element is not present, then the substance resource describes a kind of substance",
            "isSummary": true
          },
          {
            "id": "Substance.instance.identifier",
            "path": "Substance.instance.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.instance.expiry",
            "path": "Substance.instance.expiry",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.instance.quantity",
            "path": "Substance.instance.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.ingredient",
            "path": "Substance.ingredient",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.ingredient.quantity",
            "path": "Substance.ingredient.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Ratio"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Substance.ingredient.substance[x]",
            "path": "Substance.ingredient.substance[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SubstanceIngredient"
                }
              ],
              "strength": "example",
              "description": "Substance Ingredient codes",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/substance-code"
              }
            }
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/SupplyDelivery",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "SupplyDelivery",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/SupplyDelivery",
      "name": "SupplyDelivery",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "SupplyDelivery",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "SupplyDelivery",
            "path": "SupplyDelivery",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "SupplyDelivery.id",
            "path": "SupplyDelivery.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyDelivery.meta",
            "path": "SupplyDelivery.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyDelivery.implicitRules",
            "path": "SupplyDelivery.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "SupplyDelivery.language",
            "path": "SupplyDelivery.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "SupplyDelivery.text",
            "path": "SupplyDelivery.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "SupplyDelivery.contained",
            "path": "SupplyDelivery.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "SupplyDelivery.extension",
            "path": "SupplyDelivery.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "SupplyDelivery.modifierExtension",
            "path": "SupplyDelivery.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "SupplyDelivery.identifier",
            "path": "SupplyDelivery.identifier",
            "comment": "This is assigned by the dispenser, and used to refer to this order in other external standards.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "SupplyDelivery.basedOn",
            "path": "SupplyDelivery.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/SupplyRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyDelivery.partOf",
            "path": "SupplyDelivery.partOf",
            "comment": "Not to be used to link an event to an Encounter - use Event.context for that.\r\r[The allowed reference resources may be adjusted as appropriate for the event resource].",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/SupplyDelivery"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyDelivery.status",
            "path": "SupplyDelivery.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyDeliveryStatus"
                }
              ],
              "strength": "required",
              "description": "Status of the supply delivery.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supplydelivery-status"
              }
            }
          },
          {
            "id": "SupplyDelivery.patient",
            "path": "SupplyDelivery.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "SupplyDelivery.type",
            "path": "SupplyDelivery.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyDeliveryType"
                }
              ],
              "strength": "required",
              "description": "The type of supply dispense.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supplydelivery-type"
              }
            }
          },
          {
            "id": "SupplyDelivery.suppliedItem",
            "path": "SupplyDelivery.suppliedItem",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "SupplyDelivery.suppliedItem.id",
            "path": "SupplyDelivery.suppliedItem.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "SupplyDelivery.suppliedItem.extension",
            "path": "SupplyDelivery.suppliedItem.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "SupplyDelivery.suppliedItem.modifierExtension",
            "path": "SupplyDelivery.suppliedItem.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "SupplyDelivery.suppliedItem.quantity",
            "path": "SupplyDelivery.suppliedItem.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "SupplyDelivery.suppliedItem.item[x]",
            "path": "SupplyDelivery.suppliedItem.item[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyDeliveryItem"
                }
              ],
              "strength": "example",
              "description": "The item that was delivered.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supply-item"
              }
            }
          },
          {
            "id": "SupplyDelivery.occurrence[x]",
            "path": "SupplyDelivery.occurrence[x]",
            "comment": "[The list of types may be constrained as appropriate for the type of event].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Timing"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyDelivery.supplier",
            "path": "SupplyDelivery.supplier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "SupplyDelivery.destination",
            "path": "SupplyDelivery.destination",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "SupplyDelivery.receiver",
            "path": "SupplyDelivery.receiver",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "SupplyDelivery",
            "path": "SupplyDelivery",
            "min": 0,
            "max": "*"
          },
          {
            "id": "SupplyDelivery.identifier",
            "path": "SupplyDelivery.identifier",
            "comment": "This is assigned by the dispenser, and used to refer to this order in other external standards.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "SupplyDelivery.basedOn",
            "path": "SupplyDelivery.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/SupplyRequest"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyDelivery.partOf",
            "path": "SupplyDelivery.partOf",
            "comment": "Not to be used to link an event to an Encounter - use Event.context for that.\r\r[The allowed reference resources may be adjusted as appropriate for the event resource].",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/SupplyDelivery"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Contract"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyDelivery.status",
            "path": "SupplyDelivery.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyDeliveryStatus"
                }
              ],
              "strength": "required",
              "description": "Status of the supply delivery.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supplydelivery-status"
              }
            }
          },
          {
            "id": "SupplyDelivery.patient",
            "path": "SupplyDelivery.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "SupplyDelivery.type",
            "path": "SupplyDelivery.type",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyDeliveryType"
                }
              ],
              "strength": "required",
              "description": "The type of supply dispense.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supplydelivery-type"
              }
            }
          },
          {
            "id": "SupplyDelivery.suppliedItem",
            "path": "SupplyDelivery.suppliedItem",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "SupplyDelivery.suppliedItem.quantity",
            "path": "SupplyDelivery.suppliedItem.quantity",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "SupplyDelivery.suppliedItem.item[x]",
            "path": "SupplyDelivery.suppliedItem.item[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyDeliveryItem"
                }
              ],
              "strength": "example",
              "description": "The item that was delivered.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supply-item"
              }
            }
          },
          {
            "id": "SupplyDelivery.occurrence[x]",
            "path": "SupplyDelivery.occurrence[x]",
            "comment": "[The list of types may be constrained as appropriate for the type of event].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Timing"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyDelivery.supplier",
            "path": "SupplyDelivery.supplier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "SupplyDelivery.destination",
            "path": "SupplyDelivery.destination",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "SupplyDelivery.receiver",
            "path": "SupplyDelivery.receiver",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/SupplyRequest",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "SupplyRequest",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/SupplyRequest",
      "name": "SupplyRequest",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "SupplyRequest",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "SupplyRequest",
            "path": "SupplyRequest",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "SupplyRequest.id",
            "path": "SupplyRequest.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.meta",
            "path": "SupplyRequest.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.implicitRules",
            "path": "SupplyRequest.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "SupplyRequest.language",
            "path": "SupplyRequest.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "SupplyRequest.text",
            "path": "SupplyRequest.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "SupplyRequest.contained",
            "path": "SupplyRequest.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "SupplyRequest.extension",
            "path": "SupplyRequest.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "SupplyRequest.modifierExtension",
            "path": "SupplyRequest.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "SupplyRequest.identifier",
            "path": "SupplyRequest.identifier",
            "comment": "This is assigned by the requester, and used to refer to this order in other external standards.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.status",
            "path": "SupplyRequest.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyRequestStatus"
                }
              ],
              "strength": "required",
              "description": "Status of the supply request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supplyrequest-status"
              }
            }
          },
          {
            "id": "SupplyRequest.category",
            "path": "SupplyRequest.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyRequestKind"
                }
              ],
              "strength": "example",
              "description": "Category of supply request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supplyrequest-kind"
              }
            }
          },
          {
            "id": "SupplyRequest.priority",
            "path": "SupplyRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "If missing, this task should be performed with normal priority",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestPriority"
                }
              ],
              "strength": "required",
              "description": "Identifies the level of importance to be assigned to actioning the request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "SupplyRequest.orderedItem",
            "path": "SupplyRequest.orderedItem",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.orderedItem.id",
            "path": "SupplyRequest.orderedItem.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "SupplyRequest.orderedItem.extension",
            "path": "SupplyRequest.orderedItem.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "SupplyRequest.orderedItem.modifierExtension",
            "path": "SupplyRequest.orderedItem.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "SupplyRequest.orderedItem.quantity",
            "path": "SupplyRequest.orderedItem.quantity",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.orderedItem.item[x]",
            "path": "SupplyRequest.orderedItem.item[x]",
            "comment": "Note that there's a difference between a prescription - an instruction to take a medication, along with a (sometimes) implicit supply, and an explicit request to supply, with no explicit instructions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyRequestItem"
                }
              ],
              "strength": "example",
              "description": "The item that was requested",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supply-item"
              }
            }
          },
          {
            "id": "SupplyRequest.occurrence[x]",
            "path": "SupplyRequest.occurrence[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Timing"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.authoredOn",
            "path": "SupplyRequest.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.requester",
            "path": "SupplyRequest.requester",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.requester.id",
            "path": "SupplyRequest.requester.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "SupplyRequest.requester.extension",
            "path": "SupplyRequest.requester.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "SupplyRequest.requester.modifierExtension",
            "path": "SupplyRequest.requester.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "SupplyRequest.requester.agent",
            "path": "SupplyRequest.requester.agent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.requester.onBehalfOf",
            "path": "SupplyRequest.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "SupplyRequest.supplier",
            "path": "SupplyRequest.supplier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.reason[x]",
            "path": "SupplyRequest.reason[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyRequestReason"
                }
              ],
              "strength": "example",
              "description": "Why the supply item was requested",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supplyrequest-reason"
              }
            }
          },
          {
            "id": "SupplyRequest.deliverFrom",
            "path": "SupplyRequest.deliverFrom",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "SupplyRequest.deliverTo",
            "path": "SupplyRequest.deliverTo",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "SupplyRequest",
            "path": "SupplyRequest",
            "min": 0,
            "max": "*"
          },
          {
            "id": "SupplyRequest.identifier",
            "path": "SupplyRequest.identifier",
            "comment": "This is assigned by the requester, and used to refer to this order in other external standards.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.status",
            "path": "SupplyRequest.status",
            "comment": "This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyRequestStatus"
                }
              ],
              "strength": "required",
              "description": "Status of the supply request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supplyrequest-status"
              }
            }
          },
          {
            "id": "SupplyRequest.category",
            "path": "SupplyRequest.category",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyRequestKind"
                }
              ],
              "strength": "example",
              "description": "Category of supply request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supplyrequest-kind"
              }
            }
          },
          {
            "id": "SupplyRequest.priority",
            "path": "SupplyRequest.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "If missing, this task should be performed with normal priority",
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "RequestPriority"
                }
              ],
              "strength": "required",
              "description": "Identifies the level of importance to be assigned to actioning the request",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "SupplyRequest.orderedItem",
            "path": "SupplyRequest.orderedItem",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.orderedItem.quantity",
            "path": "SupplyRequest.orderedItem.quantity",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Quantity"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.orderedItem.item[x]",
            "path": "SupplyRequest.orderedItem.item[x]",
            "comment": "Note that there's a difference between a prescription - an instruction to take a medication, along with a (sometimes) implicit supply, and an explicit request to supply, with no explicit instructions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Medication"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Substance"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyRequestItem"
                }
              ],
              "strength": "example",
              "description": "The item that was requested",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supply-item"
              }
            }
          },
          {
            "id": "SupplyRequest.occurrence[x]",
            "path": "SupplyRequest.occurrence[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              },
              {
                "code": "Period"
              },
              {
                "code": "Timing"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.authoredOn",
            "path": "SupplyRequest.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.requester",
            "path": "SupplyRequest.requester",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.requester.agent",
            "path": "SupplyRequest.requester.agent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.requester.onBehalfOf",
            "path": "SupplyRequest.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "SupplyRequest.supplier",
            "path": "SupplyRequest.supplier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ],
            "isSummary": true
          },
          {
            "id": "SupplyRequest.reason[x]",
            "path": "SupplyRequest.reason[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "SupplyRequestReason"
                }
              ],
              "strength": "example",
              "description": "Why the supply item was requested",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/supplyrequest-reason"
              }
            }
          },
          {
            "id": "SupplyRequest.deliverFrom",
            "path": "SupplyRequest.deliverFrom",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              }
            ]
          },
          {
            "id": "SupplyRequest.deliverTo",
            "path": "SupplyRequest.deliverTo",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Location"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/Task",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "Task",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "oo"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/Task",
      "name": "Task",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "Task",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "Task",
            "path": "Task",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "inv-1",
                "severity": "error",
                "human": "Last modified date must be greater than or equal to authored-on date.",
                "expression": "lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn",
                "xpath": "not(exists(f:lastModified/@value)) or not(exists(f:authoredOn/@value)) or f:lastModified/@value >= f:authoredOn/@value"
              }
            ]
          },
          {
            "id": "Task.id",
            "path": "Task.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.meta",
            "path": "Task.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.implicitRules",
            "path": "Task.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Task.language",
            "path": "Task.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "Task.text",
            "path": "Task.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "Task.contained",
            "path": "Task.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "Task.extension",
            "path": "Task.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Task.modifierExtension",
            "path": "Task.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "Task.identifier",
            "path": "Task.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Task.definition[x]",
            "path": "Task.definition[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.basedOn",
            "path": "Task.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.groupIdentifier",
            "path": "Task.groupIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.partOf",
            "path": "Task.partOf",
            "comment": "This should usually be 0..1.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Task"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.status",
            "path": "Task.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskStatus"
                }
              ],
              "strength": "required",
              "description": "The current status of the task.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/task-status"
              }
            }
          },
          {
            "id": "Task.statusReason",
            "path": "Task.statusReason",
            "comment": "This applies to the current status.  Look at the history of the task to see reasons for past statuses.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskStatusReason"
                }
              ],
              "strength": "example",
              "description": "Codes to identify the reason for current status.  These will typically be specific to a particular workflow."
            }
          },
          {
            "id": "Task.businessStatus",
            "path": "Task.businessStatus",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskBusinessStatus"
                }
              ],
              "strength": "example",
              "description": "The domain-specific business-contextual sub-state of the task.  For example: \"Blood drawn\", \"IV inserted\", \"Awaiting physician signature\", etc."
            }
          },
          {
            "id": "Task.intent",
            "path": "Task.intent",
            "comment": "This element is immutable.  Proposed tasks, planned tasks, etc. must be distinct instances.\n\nIn most cases, Tasks will have an intent of \"order\".",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskIntent"
                }
              ],
              "strength": "required",
              "description": "Distinguishes whether the task is a proposal, plan or full order",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-intent"
              }
            }
          },
          {
            "id": "Task.priority",
            "path": "Task.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "If missing, this task should be performed with normal priority",
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskPriority"
                }
              ],
              "strength": "required",
              "description": "The task's priority",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "Task.code",
            "path": "Task.code",
            "comment": "The title (eg \"My Tasks\", \"Outstanding Tasks for Patient X\") should go into the code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskCode"
                }
              ],
              "strength": "example",
              "description": "Codes to identify what the task involves.  These will typically be specific to a particular workflow."
            }
          },
          {
            "id": "Task.description",
            "path": "Task.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.focus",
            "path": "Task.focus",
            "comment": "If multiple resources need to be manipulated, use sub-tasks.  (This ensures that status can be tracked independently for each referenced resource.).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.for",
            "path": "Task.for",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.context",
            "path": "Task.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.executionPeriod",
            "path": "Task.executionPeriod",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.authoredOn",
            "path": "Task.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "condition": [
              "inv-1"
            ]
          },
          {
            "id": "Task.lastModified",
            "path": "Task.lastModified",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "condition": [
              "inv-1"
            ],
            "isSummary": true
          },
          {
            "id": "Task.requester",
            "path": "Task.requester",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.requester.id",
            "path": "Task.requester.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Task.requester.extension",
            "path": "Task.requester.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Task.requester.modifierExtension",
            "path": "Task.requester.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Task.requester.agent",
            "path": "Task.requester.agent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.requester.onBehalfOf",
            "path": "Task.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Task.performerType",
            "path": "Task.performerType",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskPerformerType"
                }
              ],
              "strength": "preferred",
              "description": "The type(s) of task performers allowed",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/task-performer-type"
              }
            }
          },
          {
            "id": "Task.owner",
            "path": "Task.owner",
            "comment": "Tasks may be created with an owner not yet identified.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.reason",
            "path": "Task.reason",
            "comment": "This should only be included if there is no focus or if it differs from the reason indicated on the focus.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskReason"
                }
              ],
              "strength": "example",
              "description": "Indicates why the task is needed.  E.g. Suspended because patient admitted to hospital."
            }
          },
          {
            "id": "Task.note",
            "path": "Task.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "Task.relevantHistory",
            "path": "Task.relevantHistory",
            "comment": "This element does not point to the Provenance associated with the *current* version of the resource - as it would be created after this version existed.  The Provenance for the current version can be retrieved with a _revinclude.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          },
          {
            "id": "Task.restriction",
            "path": "Task.restriction",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Task.restriction.id",
            "path": "Task.restriction.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Task.restriction.extension",
            "path": "Task.restriction.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Task.restriction.modifierExtension",
            "path": "Task.restriction.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Task.restriction.repetitions",
            "path": "Task.restriction.repetitions",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Task.restriction.period",
            "path": "Task.restriction.period",
            "comment": "Note that period.high is the due date representing the time by which the task should be completed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Task.restriction.recipient",
            "path": "Task.restriction.recipient",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Task.input",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Parameter"
              }
            ],
            "path": "Task.input",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Task.input.id",
            "path": "Task.input.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Task.input.extension",
            "path": "Task.input.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Task.input.modifierExtension",
            "path": "Task.input.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Task.input.type",
            "path": "Task.input.type",
            "comment": "If referencing a BPMN workflow or Protocol, the \"system\" is the URL for the workflow definition and the code is the \"name\" of the required input.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskInputParameterType"
                }
              ],
              "strength": "example",
              "description": "Codes to identify types of input parameters.  These will typically be specific to a particular workflow.  E.g. \"Comparison source\", \"Applicable consent\", \"Concommitent Medications\", etc."
            }
          },
          {
            "id": "Task.input.value[x]",
            "path": "Task.input.value[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              },
              {
                "code": "boolean"
              },
              {
                "code": "code"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "decimal"
              },
              {
                "code": "id"
              },
              {
                "code": "instant"
              },
              {
                "code": "integer"
              },
              {
                "code": "markdown"
              },
              {
                "code": "oid"
              },
              {
                "code": "positiveInt"
              },
              {
                "code": "string"
              },
              {
                "code": "time"
              },
              {
                "code": "unsignedInt"
              },
              {
                "code": "uri"
              },
              {
                "code": "Address"
              },
              {
                "code": "Age"
              },
              {
                "code": "Annotation"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Coding"
              },
              {
                "code": "ContactPoint"
              },
              {
                "code": "Count"
              },
              {
                "code": "Distance"
              },
              {
                "code": "Duration"
              },
              {
                "code": "HumanName"
              },
              {
                "code": "Identifier"
              },
              {
                "code": "Money"
              },
              {
                "code": "Period"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              },
              {
                "code": "Ratio"
              },
              {
                "code": "Reference"
              },
              {
                "code": "SampledData"
              },
              {
                "code": "Signature"
              },
              {
                "code": "Timing"
              },
              {
                "code": "Meta"
              }
            ]
          },
          {
            "id": "Task.output",
            "path": "Task.output",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "Task.output.id",
            "path": "Task.output.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "Task.output.extension",
            "path": "Task.output.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "Task.output.modifierExtension",
            "path": "Task.output.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "Task.output.type",
            "path": "Task.output.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskOutputParameterType"
                }
              ],
              "strength": "example",
              "description": "Codes to identify types of input parameters.  These will typically be specific to a particular workflow.  E.g. \"Identified issues\", \"Preliminary results\", \"Filler order\", \"Final results\", etc."
            }
          },
          {
            "id": "Task.output.value[x]",
            "path": "Task.output.value[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              },
              {
                "code": "boolean"
              },
              {
                "code": "code"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "decimal"
              },
              {
                "code": "id"
              },
              {
                "code": "instant"
              },
              {
                "code": "integer"
              },
              {
                "code": "markdown"
              },
              {
                "code": "oid"
              },
              {
                "code": "positiveInt"
              },
              {
                "code": "string"
              },
              {
                "code": "time"
              },
              {
                "code": "unsignedInt"
              },
              {
                "code": "uri"
              },
              {
                "code": "Address"
              },
              {
                "code": "Age"
              },
              {
                "code": "Annotation"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Coding"
              },
              {
                "code": "ContactPoint"
              },
              {
                "code": "Count"
              },
              {
                "code": "Distance"
              },
              {
                "code": "Duration"
              },
              {
                "code": "HumanName"
              },
              {
                "code": "Identifier"
              },
              {
                "code": "Money"
              },
              {
                "code": "Period"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              },
              {
                "code": "Ratio"
              },
              {
                "code": "Reference"
              },
              {
                "code": "SampledData"
              },
              {
                "code": "Signature"
              },
              {
                "code": "Timing"
              },
              {
                "code": "Meta"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "Task",
            "path": "Task",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "inv-1",
                "severity": "error",
                "human": "Last modified date must be greater than or equal to authored-on date.",
                "expression": "lastModified.exists().not() or authoredOn.exists().not() or lastModified >= authoredOn",
                "xpath": "not(exists(f:lastModified/@value)) or not(exists(f:authoredOn/@value)) or f:lastModified/@value >= f:authoredOn/@value"
              }
            ]
          },
          {
            "id": "Task.identifier",
            "path": "Task.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "Task.definition[x]",
            "path": "Task.definition[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/ActivityDefinition"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.basedOn",
            "path": "Task.basedOn",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.groupIdentifier",
            "path": "Task.groupIdentifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.partOf",
            "path": "Task.partOf",
            "comment": "This should usually be 0..1.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Task"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.status",
            "path": "Task.status",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskStatus"
                }
              ],
              "strength": "required",
              "description": "The current status of the task.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/task-status"
              }
            }
          },
          {
            "id": "Task.statusReason",
            "path": "Task.statusReason",
            "comment": "This applies to the current status.  Look at the history of the task to see reasons for past statuses.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskStatusReason"
                }
              ],
              "strength": "example",
              "description": "Codes to identify the reason for current status.  These will typically be specific to a particular workflow."
            }
          },
          {
            "id": "Task.businessStatus",
            "path": "Task.businessStatus",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskBusinessStatus"
                }
              ],
              "strength": "example",
              "description": "The domain-specific business-contextual sub-state of the task.  For example: \"Blood drawn\", \"IV inserted\", \"Awaiting physician signature\", etc."
            }
          },
          {
            "id": "Task.intent",
            "path": "Task.intent",
            "comment": "This element is immutable.  Proposed tasks, planned tasks, etc. must be distinct instances.\n\nIn most cases, Tasks will have an intent of \"order\".",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskIntent"
                }
              ],
              "strength": "required",
              "description": "Distinguishes whether the task is a proposal, plan or full order",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-intent"
              }
            }
          },
          {
            "id": "Task.priority",
            "path": "Task.priority",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "If missing, this task should be performed with normal priority",
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskPriority"
                }
              ],
              "strength": "required",
              "description": "The task's priority",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/request-priority"
              }
            }
          },
          {
            "id": "Task.code",
            "path": "Task.code",
            "comment": "The title (eg \"My Tasks\", \"Outstanding Tasks for Patient X\") should go into the code.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskCode"
                }
              ],
              "strength": "example",
              "description": "Codes to identify what the task involves.  These will typically be specific to a particular workflow."
            }
          },
          {
            "id": "Task.description",
            "path": "Task.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.focus",
            "path": "Task.focus",
            "comment": "If multiple resources need to be manipulated, use sub-tasks.  (This ensures that status can be tracked independently for each referenced resource.).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.for",
            "path": "Task.for",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.context",
            "path": "Task.context",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/EpisodeOfCare"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.executionPeriod",
            "path": "Task.executionPeriod",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.authoredOn",
            "path": "Task.authoredOn",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "condition": [
              "inv-1"
            ]
          },
          {
            "id": "Task.lastModified",
            "path": "Task.lastModified",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "condition": [
              "inv-1"
            ],
            "isSummary": true
          },
          {
            "id": "Task.requester",
            "path": "Task.requester",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.requester.agent",
            "path": "Task.requester.agent",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.requester.onBehalfOf",
            "path": "Task.requester.onBehalfOf",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Task.performerType",
            "path": "Task.performerType",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskPerformerType"
                }
              ],
              "strength": "preferred",
              "description": "The type(s) of task performers allowed",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/task-performer-type"
              }
            }
          },
          {
            "id": "Task.owner",
            "path": "Task.owner",
            "comment": "Tasks may be created with an owner not yet identified.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Device"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              }
            ],
            "isSummary": true
          },
          {
            "id": "Task.reason",
            "path": "Task.reason",
            "comment": "This should only be included if there is no focus or if it differs from the reason indicated on the focus.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskReason"
                }
              ],
              "strength": "example",
              "description": "Indicates why the task is needed.  E.g. Suspended because patient admitted to hospital."
            }
          },
          {
            "id": "Task.note",
            "path": "Task.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          },
          {
            "id": "Task.relevantHistory",
            "path": "Task.relevantHistory",
            "comment": "This element does not point to the Provenance associated with the *current* version of the resource - as it would be created after this version existed.  The Provenance for the current version can be retrieved with a _revinclude.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Provenance"
              }
            ]
          },
          {
            "id": "Task.restriction",
            "path": "Task.restriction",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Task.restriction.repetitions",
            "path": "Task.restriction.repetitions",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "positiveInt"
              }
            ]
          },
          {
            "id": "Task.restriction.period",
            "path": "Task.restriction.period",
            "comment": "Note that period.high is the due date representing the time by which the task should be completed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Period"
              }
            ]
          },
          {
            "id": "Task.restriction.recipient",
            "path": "Task.restriction.recipient",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/RelatedPerson"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Group"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Organization"
              }
            ]
          },
          {
            "id": "Task.input",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "Parameter"
              }
            ],
            "path": "Task.input",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Task.input.type",
            "path": "Task.input.type",
            "comment": "If referencing a BPMN workflow or Protocol, the \"system\" is the URL for the workflow definition and the code is the \"name\" of the required input.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskInputParameterType"
                }
              ],
              "strength": "example",
              "description": "Codes to identify types of input parameters.  These will typically be specific to a particular workflow.  E.g. \"Comparison source\", \"Applicable consent\", \"Concommitent Medications\", etc."
            }
          },
          {
            "id": "Task.input.value[x]",
            "path": "Task.input.value[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              },
              {
                "code": "boolean"
              },
              {
                "code": "code"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "decimal"
              },
              {
                "code": "id"
              },
              {
                "code": "instant"
              },
              {
                "code": "integer"
              },
              {
                "code": "markdown"
              },
              {
                "code": "oid"
              },
              {
                "code": "positiveInt"
              },
              {
                "code": "string"
              },
              {
                "code": "time"
              },
              {
                "code": "unsignedInt"
              },
              {
                "code": "uri"
              },
              {
                "code": "Address"
              },
              {
                "code": "Age"
              },
              {
                "code": "Annotation"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Coding"
              },
              {
                "code": "ContactPoint"
              },
              {
                "code": "Count"
              },
              {
                "code": "Distance"
              },
              {
                "code": "Duration"
              },
              {
                "code": "HumanName"
              },
              {
                "code": "Identifier"
              },
              {
                "code": "Money"
              },
              {
                "code": "Period"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              },
              {
                "code": "Ratio"
              },
              {
                "code": "Reference"
              },
              {
                "code": "SampledData"
              },
              {
                "code": "Signature"
              },
              {
                "code": "Timing"
              },
              {
                "code": "Meta"
              }
            ]
          },
          {
            "id": "Task.output",
            "path": "Task.output",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "Task.output.type",
            "path": "Task.output.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TaskOutputParameterType"
                }
              ],
              "strength": "example",
              "description": "Codes to identify types of input parameters.  These will typically be specific to a particular workflow.  E.g. \"Identified issues\", \"Preliminary results\", \"Filler order\", \"Final results\", etc."
            }
          },
          {
            "id": "Task.output.value[x]",
            "path": "Task.output.value[x]",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "base64Binary"
              },
              {
                "code": "boolean"
              },
              {
                "code": "code"
              },
              {
                "code": "date"
              },
              {
                "code": "dateTime"
              },
              {
                "code": "decimal"
              },
              {
                "code": "id"
              },
              {
                "code": "instant"
              },
              {
                "code": "integer"
              },
              {
                "code": "markdown"
              },
              {
                "code": "oid"
              },
              {
                "code": "positiveInt"
              },
              {
                "code": "string"
              },
              {
                "code": "time"
              },
              {
                "code": "unsignedInt"
              },
              {
                "code": "uri"
              },
              {
                "code": "Address"
              },
              {
                "code": "Age"
              },
              {
                "code": "Annotation"
              },
              {
                "code": "Attachment"
              },
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Coding"
              },
              {
                "code": "ContactPoint"
              },
              {
                "code": "Count"
              },
              {
                "code": "Distance"
              },
              {
                "code": "Duration"
              },
              {
                "code": "HumanName"
              },
              {
                "code": "Identifier"
              },
              {
                "code": "Money"
              },
              {
                "code": "Period"
              },
              {
                "code": "Quantity"
              },
              {
                "code": "Range"
              },
              {
                "code": "Ratio"
              },
              {
                "code": "Reference"
              },
              {
                "code": "SampledData"
              },
              {
                "code": "Signature"
              },
              {
                "code": "Timing"
              },
              {
                "code": "Meta"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/TestReport",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "TestReport",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 0
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/TestReport",
      "name": "TestReport",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "TestReport",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "TestReport",
            "path": "TestReport",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "TestReport.id",
            "path": "TestReport.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.meta",
            "path": "TestReport.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.implicitRules",
            "path": "TestReport.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestReport.language",
            "path": "TestReport.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "TestReport.text",
            "path": "TestReport.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "TestReport.contained",
            "path": "TestReport.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "TestReport.extension",
            "path": "TestReport.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestReport.modifierExtension",
            "path": "TestReport.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "TestReport.identifier",
            "path": "TestReport.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.name",
            "path": "TestReport.name",
            "comment": "Not expected to be globally unique.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.status",
            "path": "TestReport.status",
            "comment": "The status represents where the execution is currently within the test script execution life cycle.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestReportStatus"
                }
              ],
              "strength": "required",
              "description": "The current status of the test report.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/report-status-codes"
              }
            }
          },
          {
            "id": "TestReport.testScript",
            "path": "TestReport.testScript",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/TestScript"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.result",
            "path": "TestReport.result",
            "comment": "The pass and fail result represents a completed test script execution. The pending result represents a test script execution that has not yet started or is currently in progress.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestReportResult"
                }
              ],
              "strength": "required",
              "description": "The reported execution result.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/report-result-codes"
              }
            }
          },
          {
            "id": "TestReport.score",
            "path": "TestReport.score",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.tester",
            "path": "TestReport.tester",
            "comment": "Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.issued",
            "path": "TestReport.issued",
            "comment": "Additional specific dates may be added as extensions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.participant",
            "path": "TestReport.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestReport.participant.id",
            "path": "TestReport.participant.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.participant.extension",
            "path": "TestReport.participant.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestReport.participant.modifierExtension",
            "path": "TestReport.participant.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestReport.participant.type",
            "path": "TestReport.participant.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestReportParticipantType"
                }
              ],
              "strength": "required",
              "description": "The type of participant.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/report-participant-type"
              }
            }
          },
          {
            "id": "TestReport.participant.uri",
            "path": "TestReport.participant.uri",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "TestReport.participant.display",
            "path": "TestReport.participant.display",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.setup",
            "path": "TestReport.setup",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestReport.setup.id",
            "path": "TestReport.setup.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.setup.extension",
            "path": "TestReport.setup.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestReport.setup.modifierExtension",
            "path": "TestReport.setup.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestReport.setup.action",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SetupAction"
              }
            ],
            "path": "TestReport.setup.action",
            "comment": "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "inv-1",
                "severity": "error",
                "human": "Setup action SHALL contain either an operation or assert but not both.",
                "expression": "operation.exists() xor assert.exists()",
                "xpath": "(f:operation or f:assert) and not(f:operation and f:assert)"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.id",
            "path": "TestReport.setup.action.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.extension",
            "path": "TestReport.setup.action.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.modifierExtension",
            "path": "TestReport.setup.action.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestReport.setup.action.operation",
            "path": "TestReport.setup.action.operation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.operation.id",
            "path": "TestReport.setup.action.operation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.operation.extension",
            "path": "TestReport.setup.action.operation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.operation.modifierExtension",
            "path": "TestReport.setup.action.operation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestReport.setup.action.operation.result",
            "path": "TestReport.setup.action.operation.result",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestReportActionResult"
                }
              ],
              "strength": "required",
              "description": "The results of executing an action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/report-action-result-codes"
              }
            }
          },
          {
            "id": "TestReport.setup.action.operation.message",
            "path": "TestReport.setup.action.operation.message",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.operation.detail",
            "path": "TestReport.setup.action.operation.detail",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.assert",
            "path": "TestReport.setup.action.assert",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.assert.id",
            "path": "TestReport.setup.action.assert.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.assert.extension",
            "path": "TestReport.setup.action.assert.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.assert.modifierExtension",
            "path": "TestReport.setup.action.assert.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestReport.setup.action.assert.result",
            "path": "TestReport.setup.action.assert.result",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestReportActionResult"
                }
              ],
              "strength": "required",
              "description": "The results of executing an action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/report-action-result-codes"
              }
            }
          },
          {
            "id": "TestReport.setup.action.assert.message",
            "path": "TestReport.setup.action.assert.message",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.assert.detail",
            "path": "TestReport.setup.action.assert.detail",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.test",
            "path": "TestReport.test",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestReport.test.id",
            "path": "TestReport.test.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.test.extension",
            "path": "TestReport.test.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestReport.test.modifierExtension",
            "path": "TestReport.test.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestReport.test.name",
            "path": "TestReport.test.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.test.description",
            "path": "TestReport.test.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.test.action",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TestAction"
              }
            ],
            "path": "TestReport.test.action",
            "comment": "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "inv-2",
                "severity": "error",
                "human": "Test action SHALL contain either an operation or assert but not both.",
                "expression": "operation.exists() xor assert.exists()",
                "xpath": "(f:operation or f:assert) and not(f:operation and f:assert)"
              }
            ]
          },
          {
            "id": "TestReport.test.action.id",
            "path": "TestReport.test.action.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.test.action.extension",
            "path": "TestReport.test.action.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestReport.test.action.modifierExtension",
            "path": "TestReport.test.action.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestReport.test.action.operation",
            "path": "TestReport.test.action.operation",
            "min": 0,
            "max": "1",
            "contentReference": "#TestReport.setup.action.operation"
          },
          {
            "id": "TestReport.test.action.assert",
            "path": "TestReport.test.action.assert",
            "min": 0,
            "max": "1",
            "contentReference": "#TestReport.setup.action.assert"
          },
          {
            "id": "TestReport.teardown",
            "path": "TestReport.teardown",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestReport.teardown.id",
            "path": "TestReport.teardown.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.teardown.extension",
            "path": "TestReport.teardown.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestReport.teardown.modifierExtension",
            "path": "TestReport.teardown.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestReport.teardown.action",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TeardownAction"
              }
            ],
            "path": "TestReport.teardown.action",
            "comment": "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestReport.teardown.action.id",
            "path": "TestReport.teardown.action.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.teardown.action.extension",
            "path": "TestReport.teardown.action.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestReport.teardown.action.modifierExtension",
            "path": "TestReport.teardown.action.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestReport.teardown.action.operation",
            "path": "TestReport.teardown.action.operation",
            "min": 1,
            "max": "1",
            "contentReference": "#TestReport.setup.action.operation"
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "TestReport",
            "path": "TestReport",
            "min": 0,
            "max": "*"
          },
          {
            "id": "TestReport.identifier",
            "path": "TestReport.identifier",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.name",
            "path": "TestReport.name",
            "comment": "Not expected to be globally unique.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.status",
            "path": "TestReport.status",
            "comment": "The status represents where the execution is currently within the test script execution life cycle.\n\nThis element is labeled as a modifier because the status contains codes that mark the resource as not currently valid.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestReportStatus"
                }
              ],
              "strength": "required",
              "description": "The current status of the test report.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/report-status-codes"
              }
            }
          },
          {
            "id": "TestReport.testScript",
            "path": "TestReport.testScript",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/TestScript"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.result",
            "path": "TestReport.result",
            "comment": "The pass and fail result represents a completed test script execution. The pending result represents a test script execution that has not yet started or is currently in progress.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestReportResult"
                }
              ],
              "strength": "required",
              "description": "The reported execution result.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/report-result-codes"
              }
            }
          },
          {
            "id": "TestReport.score",
            "path": "TestReport.score",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.tester",
            "path": "TestReport.tester",
            "comment": "Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.issued",
            "path": "TestReport.issued",
            "comment": "Additional specific dates may be added as extensions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestReport.participant",
            "path": "TestReport.participant",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestReport.participant.type",
            "path": "TestReport.participant.type",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestReportParticipantType"
                }
              ],
              "strength": "required",
              "description": "The type of participant.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/report-participant-type"
              }
            }
          },
          {
            "id": "TestReport.participant.uri",
            "path": "TestReport.participant.uri",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "TestReport.participant.display",
            "path": "TestReport.participant.display",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.setup",
            "path": "TestReport.setup",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestReport.setup.action",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SetupAction"
              }
            ],
            "path": "TestReport.setup.action",
            "comment": "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "inv-1",
                "severity": "error",
                "human": "Setup action SHALL contain either an operation or assert but not both.",
                "expression": "operation.exists() xor assert.exists()",
                "xpath": "(f:operation or f:assert) and not(f:operation and f:assert)"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.operation",
            "path": "TestReport.setup.action.operation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.operation.result",
            "path": "TestReport.setup.action.operation.result",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestReportActionResult"
                }
              ],
              "strength": "required",
              "description": "The results of executing an action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/report-action-result-codes"
              }
            }
          },
          {
            "id": "TestReport.setup.action.operation.message",
            "path": "TestReport.setup.action.operation.message",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.operation.detail",
            "path": "TestReport.setup.action.operation.detail",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.assert",
            "path": "TestReport.setup.action.assert",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.assert.result",
            "path": "TestReport.setup.action.assert.result",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestReportActionResult"
                }
              ],
              "strength": "required",
              "description": "The results of executing an action.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/report-action-result-codes"
              }
            }
          },
          {
            "id": "TestReport.setup.action.assert.message",
            "path": "TestReport.setup.action.assert.message",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "TestReport.setup.action.assert.detail",
            "path": "TestReport.setup.action.assert.detail",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.test",
            "path": "TestReport.test",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestReport.test.name",
            "path": "TestReport.test.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.test.description",
            "path": "TestReport.test.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestReport.test.action",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TestAction"
              }
            ],
            "path": "TestReport.test.action",
            "comment": "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "inv-2",
                "severity": "error",
                "human": "Test action SHALL contain either an operation or assert but not both.",
                "expression": "operation.exists() xor assert.exists()",
                "xpath": "(f:operation or f:assert) and not(f:operation and f:assert)"
              }
            ]
          },
          {
            "id": "TestReport.test.action.operation",
            "path": "TestReport.test.action.operation",
            "min": 0,
            "max": "1",
            "contentReference": "#TestReport.setup.action.operation"
          },
          {
            "id": "TestReport.test.action.assert",
            "path": "TestReport.test.action.assert",
            "min": 0,
            "max": "1",
            "contentReference": "#TestReport.setup.action.assert"
          },
          {
            "id": "TestReport.teardown",
            "path": "TestReport.teardown",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestReport.teardown.action",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TeardownAction"
              }
            ],
            "path": "TestReport.teardown.action",
            "comment": "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestReport.teardown.action.operation",
            "path": "TestReport.teardown.action.operation",
            "min": 1,
            "max": "1",
            "contentReference": "#TestReport.setup.action.operation"
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/TestScript",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "TestScript",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 2
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/TestScript",
      "name": "TestScript",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "TestScript",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "TestScript",
            "path": "TestScript",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "TestScript.id",
            "path": "TestScript.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.meta",
            "path": "TestScript.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.implicitRules",
            "path": "TestScript.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.language",
            "path": "TestScript.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "TestScript.text",
            "path": "TestScript.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "TestScript.contained",
            "path": "TestScript.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "TestScript.extension",
            "path": "TestScript.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.modifierExtension",
            "path": "TestScript.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "TestScript.url",
            "path": "TestScript.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.identifier",
            "path": "TestScript.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this test script outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.version",
            "path": "TestScript.version",
            "comment": "There may be different test script instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the test script with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.name",
            "path": "TestScript.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.title",
            "path": "TestScript.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.status",
            "path": "TestScript.status",
            "comment": "Allows filtering of test scripts that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired test script without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "TestScript.experimental",
            "path": "TestScript.experimental",
            "comment": "Allows filtering of test script that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental test script in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.date",
            "path": "TestScript.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the test script. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.publisher",
            "path": "TestScript.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the test script is the organization or individual primarily responsible for the maintenance and upkeep of the test script. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the test script. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.contact",
            "path": "TestScript.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.description",
            "path": "TestScript.description",
            "comment": "This description can be used to capture details such as why the test script was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the test script as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "TestScript.useContext",
            "path": "TestScript.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.jurisdiction",
            "path": "TestScript.jurisdiction",
            "comment": "It may be possible for the test script to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "TestScript.purpose",
            "path": "TestScript.purpose",
            "comment": "This element does not describe the usage of the test script Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this test script.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "TestScript.copyright",
            "path": "TestScript.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "TestScript.origin",
            "path": "TestScript.origin",
            "comment": "The purpose of this element is to define the profile of an origin element used elsewhere in the script.  Test engines could then use the origin-profile mapping to offer a filtered list of test systems that can serve as the sender for the interaction.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.origin.id",
            "path": "TestScript.origin.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.origin.extension",
            "path": "TestScript.origin.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.origin.modifierExtension",
            "path": "TestScript.origin.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.origin.index",
            "path": "TestScript.origin.index",
            "comment": "A given origin index (e.g. 1) can appear only once in the list (e.g. Origin 1 cannot be specified twice ... once as FormFiller and and again as FormProcessor within the same script as that could get confusing during test configuration). \n\nDifferent origin indices could play the same actor in the same test script (e.g. You could have two different test systems acting as Form-Filler).\n\nThe origin indices provided elsewhere in the test script must be one of these origin indices.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "TestScript.origin.profile",
            "path": "TestScript.origin.profile",
            "comment": "Must be a \"sender\"/\"client\" profile.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "meaningWhenMissing": "FHIR-Client",
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestScriptProfileOriginType"
                }
              ],
              "strength": "extensible",
              "description": "The type of origin profile the test system supports.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/testscript-profile-origin-types"
              }
            }
          },
          {
            "id": "TestScript.destination",
            "path": "TestScript.destination",
            "comment": "The purpose of this element is to define the profile of a destination element used elsewhere in the script.  Test engines could then use the destination-profile mapping to offer a filtered list of test systems that can serve as the receiver for the interaction.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.destination.id",
            "path": "TestScript.destination.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.destination.extension",
            "path": "TestScript.destination.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.destination.modifierExtension",
            "path": "TestScript.destination.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.destination.index",
            "path": "TestScript.destination.index",
            "comment": "A given destination index (e.g. 1) can appear only once in the list (e.g. Destination 1 cannot be specified twice ... once as Form-Manager and again as Form-Processor within the same script as that could get confusing during test configuration). \n\nDifferent destination indices could play the same actor in the same test script (e.g. You could have two different test systems acting as Form-Manager).\n\nThe destination indices provided elsewhere in the test script must be one of these destination indices.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "TestScript.destination.profile",
            "path": "TestScript.destination.profile",
            "comment": "Must be a \"receiver\"/\"server\" profile.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "meaningWhenMissing": "FHIR-Server",
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestScriptProfileDestinationType"
                }
              ],
              "strength": "extensible",
              "description": "The type of destination profile the test system supports.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/testscript-profile-destination-types"
              }
            }
          },
          {
            "id": "TestScript.metadata",
            "path": "TestScript.metadata",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "inv-4",
                "severity": "error",
                "human": "TestScript metadata capability SHALL contain required or validated or both.",
                "expression": "capability.required.exists() or capability.validated.exists()",
                "xpath": "f:capability/f:required or f:capability/f:validated or (f:capability/f:required and f:capability/f:validated)"
              }
            ]
          },
          {
            "id": "TestScript.metadata.id",
            "path": "TestScript.metadata.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.metadata.extension",
            "path": "TestScript.metadata.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.metadata.modifierExtension",
            "path": "TestScript.metadata.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.metadata.link",
            "path": "TestScript.metadata.link",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.metadata.link.id",
            "path": "TestScript.metadata.link.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.metadata.link.extension",
            "path": "TestScript.metadata.link.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.metadata.link.modifierExtension",
            "path": "TestScript.metadata.link.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.metadata.link.url",
            "path": "TestScript.metadata.link.url",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "TestScript.metadata.link.description",
            "path": "TestScript.metadata.link.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability",
            "path": "TestScript.metadata.capability",
            "comment": "When the metadata capabilities section is defined at TestScript.metadata or at TestScript.setup.metadata, and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then all the tests in the TestScript are skipped.  When the metadata capabilities section is defined at TestScript.test.metadata and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then only that test is skipped.  The \"metadata.capabilities.required\" and \"metadata.capabilities.validated\" elements only indicate whether the capabilities are the primary focus of the test script or not.  They do not impact the skipping logic.  Capabilities whose \"metadata.capabilities.validated\" flag is true are the primary focus of the test script.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability.id",
            "path": "TestScript.metadata.capability.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability.extension",
            "path": "TestScript.metadata.capability.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability.modifierExtension",
            "path": "TestScript.metadata.capability.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.metadata.capability.required",
            "path": "TestScript.metadata.capability.required",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "TestScript.metadata.capability.validated",
            "path": "TestScript.metadata.capability.validated",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "TestScript.metadata.capability.description",
            "path": "TestScript.metadata.capability.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability.origin",
            "path": "TestScript.metadata.capability.origin",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability.destination",
            "path": "TestScript.metadata.capability.destination",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability.link",
            "path": "TestScript.metadata.capability.link",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability.capabilities",
            "path": "TestScript.metadata.capability.capabilities",
            "comment": "The conformance statement of the server has to contain at a minimum the contents of the reference pointed to by this element.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CapabilityStatement"
              }
            ]
          },
          {
            "id": "TestScript.fixture",
            "path": "TestScript.fixture",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.fixture.id",
            "path": "TestScript.fixture.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.fixture.extension",
            "path": "TestScript.fixture.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.fixture.modifierExtension",
            "path": "TestScript.fixture.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.fixture.autocreate",
            "path": "TestScript.fixture.autocreate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "TestScript.fixture.autodelete",
            "path": "TestScript.fixture.autodelete",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "TestScript.fixture.resource",
            "path": "TestScript.fixture.resource",
            "comment": "See http://build.fhir.org/resourcelist.html for complete list of resource types.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "TestScript.profile",
            "path": "TestScript.profile",
            "comment": "See http://build.fhir.org/resourcelist.html for complete list of resource types.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "TestScript.variable",
            "path": "TestScript.variable",
            "comment": "Variables would be set based either on XPath/JSONPath expressions against fixtures (static and response), or headerField evaluations against response headers. If variable evaluates to nodelist or anything other than a primitive value, then test engine would report an error.  Variables would be used to perform clean replacements in \"operation.params\", \"operation.requestHeader.value\", and \"operation.url\" element values during operation calls and in \"assert.value\" during assertion evaluations. This limits the places that test engines would need to look for placeholders \"${}\".  Variables are scoped to the whole script. They are NOT evaluated at declaration. They are evaluated by test engine when used for substitutions in \"operation.params\", \"operation.requestHeader.value\", and \"operation.url\" element values during operation calls and in \"assert.value\" during assertion evaluations.  See example testscript-search.xml.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "inv-3",
                "severity": "error",
                "human": "Variable can only contain one of expression, headerField or path.",
                "expression": "expression.empty() or headerField.empty() or path.empty()",
                "xpath": "not(f:expression and f:headerField and f:path)"
              }
            ]
          },
          {
            "id": "TestScript.variable.id",
            "path": "TestScript.variable.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.extension",
            "path": "TestScript.variable.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.variable.modifierExtension",
            "path": "TestScript.variable.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.variable.name",
            "path": "TestScript.variable.name",
            "comment": "Placeholders would contain the variable name wrapped in ${} in \"operation.params\", \"operation.requestHeader.value\", and \"operation.url\" elements.  These placeholders would need to be replaced by the variable value before the operation is executed.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.defaultValue",
            "path": "TestScript.variable.defaultValue",
            "comment": "The purpose of this element is to allow for a pre-defined value that can be used as a default or as an override value. Test engines can optionally use this as a placeholder for user-defined execution time values.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.description",
            "path": "TestScript.variable.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.expression",
            "path": "TestScript.variable.expression",
            "comment": "If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to.  If expression or path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to.  It is an error to define any combination of expression, headerField and path.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.headerField",
            "path": "TestScript.variable.headerField",
            "comment": "If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to.  If path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to.  It is an error to define both headerField and path.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.hint",
            "path": "TestScript.variable.hint",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.path",
            "path": "TestScript.variable.path",
            "comment": "If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to.  If expression or path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to.  It is an error to define any combination of expression, headerField and path.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.sourceId",
            "path": "TestScript.variable.sourceId",
            "comment": "This can be a statically defined fixture (at the top of the TestScript) or a dynamically set fixture created by responseId of the `action.operation` element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.rule",
            "path": "TestScript.rule",
            "comment": "Each rule should be treated by test engines as one assertion regardless of how many assertions are contained within the external rule template.  The impact of negative rule evaluation on test script execution is the same as an assertion failure which is described elsewhere in the TestScript resource.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.rule.id",
            "path": "TestScript.rule.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.rule.extension",
            "path": "TestScript.rule.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.rule.modifierExtension",
            "path": "TestScript.rule.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.rule.resource",
            "path": "TestScript.rule.resource",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "TestScript.rule.param",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "RuleParam"
              }
            ],
            "path": "TestScript.rule.param",
            "comment": "The parameter value can be dynamic at runtime.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.rule.param.id",
            "path": "TestScript.rule.param.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.rule.param.extension",
            "path": "TestScript.rule.param.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.rule.param.modifierExtension",
            "path": "TestScript.rule.param.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.rule.param.name",
            "path": "TestScript.rule.param.name",
            "comment": "The external rule template would be looking for the parameter by this name.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.rule.param.value",
            "path": "TestScript.rule.param.value",
            "comment": "This value can be overwritten by the assert.rule.param.value i.e. TestScript.rule.param.value will be used if assert.rule.param.value is not specified.  The param value can be a string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.ruleset",
            "path": "TestScript.ruleset",
            "comment": "Each rule within a ruleset should be treated by test engines as one assertion regardless of how many assertions are contained within the external rule template.  The impact of negative rule evaluation on test script execution is the same as an assertion failure which is described elsewhere in the TestScript resource.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.id",
            "path": "TestScript.ruleset.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.extension",
            "path": "TestScript.ruleset.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.modifierExtension",
            "path": "TestScript.ruleset.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.ruleset.resource",
            "path": "TestScript.ruleset.resource",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "RulesetRule"
              }
            ],
            "path": "TestScript.ruleset.rule",
            "comment": "This qualifies each param name so that  a parameter with the same name can be used differently by the different rules with the ruleset.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule.id",
            "path": "TestScript.ruleset.rule.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule.extension",
            "path": "TestScript.ruleset.rule.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule.modifierExtension",
            "path": "TestScript.ruleset.rule.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.ruleset.rule.ruleId",
            "path": "TestScript.ruleset.rule.ruleId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule.param",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "RulesetRuleParam"
              }
            ],
            "path": "TestScript.ruleset.rule.param",
            "comment": "The parameter value can be dynamic at runtime.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule.param.id",
            "path": "TestScript.ruleset.rule.param.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule.param.extension",
            "path": "TestScript.ruleset.rule.param.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule.param.modifierExtension",
            "path": "TestScript.ruleset.rule.param.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.ruleset.rule.param.name",
            "path": "TestScript.ruleset.rule.param.name",
            "comment": "The external rule template would be looking for the parameter by this name.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule.param.value",
            "path": "TestScript.ruleset.rule.param.value",
            "comment": "This value can be overwritten by the assert.ruleset.rule.param.value i.e. TestScript.ruleset.rule.param.value will be used if assert.ruleset.rule.param.value is not specified.  The param value can be a string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup",
            "path": "TestScript.setup",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.setup.id",
            "path": "TestScript.setup.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.extension",
            "path": "TestScript.setup.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.setup.modifierExtension",
            "path": "TestScript.setup.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.setup.action",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SetupAction"
              }
            ],
            "path": "TestScript.setup.action",
            "comment": "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "inv-1",
                "severity": "error",
                "human": "Setup action SHALL contain either an operation or assert but not both.",
                "expression": "operation.exists() xor assert.exists()",
                "xpath": "(f:operation or f:assert) and not(f:operation and f:assert)"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.id",
            "path": "TestScript.setup.action.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.extension",
            "path": "TestScript.setup.action.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.modifierExtension",
            "path": "TestScript.setup.action.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.setup.action.operation",
            "path": "TestScript.setup.action.operation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "inv-7",
                "severity": "error",
                "human": "Setup operation SHALL contain either sourceId or targetId or params or url.",
                "expression": "sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' |'search' | 'transaction' | 'history'))",
                "xpath": "f:sourceId or ((f:targetId or f:url or f:params) and (count(f:targetId) + count(f:url) + count(f:params) =1)) or (f:type/f:code/@value='capabilities' or f:type/f:code/@value='search' or f:type/f:code/@value='transaction' or f:type/f:code/@value='history')"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.id",
            "path": "TestScript.setup.action.operation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.extension",
            "path": "TestScript.setup.action.operation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.modifierExtension",
            "path": "TestScript.setup.action.operation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.setup.action.operation.type",
            "path": "TestScript.setup.action.operation.type",
            "comment": "See http://build.fhir.org/http.html for list of server interactions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestScriptOperationCode"
                }
              ],
              "strength": "extensible",
              "description": "The allowable operation code types.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/testscript-operation-codes"
              }
            }
          },
          {
            "id": "TestScript.setup.action.operation.resource",
            "path": "TestScript.setup.action.operation.resource",
            "comment": "If \"url\" element is specified, then \"targetId\", \"params\", and \"resource\" elements will be ignored as \"url\" element will have everything needed for constructing the request url.  If \"params\" element is specified, then \"targetId\" element is ignored. For FHIR operations that require a resource (e.g. \"read\" and \"vread\" operations), the \"resource\" element must be specified when \"params\" element is specified.  If \"url\" and \"params\" elements are absent, then the request url will be constructed from \"targetId\" fixture if present. For \"read\" operation, the resource and id values will be extracted from \"targetId\" fixture and used to construct the url. For \"vread\" and \"history\" operations, the versionId value will also be used.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FHIRDefinedType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Either a resource or a data type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/defined-types"
              }
            }
          },
          {
            "id": "TestScript.setup.action.operation.label",
            "path": "TestScript.setup.action.operation.label",
            "comment": "This has no impact on the verification itself.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.description",
            "path": "TestScript.setup.action.operation.description",
            "comment": "This has no impact on the verification itself.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.accept",
            "path": "TestScript.setup.action.operation.accept",
            "comment": "If this is specified, then test engine shall set the 'Accept' header to the corresponding value.    If 'xml' is specified, then 'Accept' header of 'application/fhir+xml' will be set.  If 'json' is specified, then 'application/fhir+json' will be used.    If you'd like to explicitly set the 'Accept' to some other value then use the 'requestHeader' element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "xml",
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContentType"
                }
              ],
              "strength": "required",
              "description": "The content or mime type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/content-type"
              }
            }
          },
          {
            "id": "TestScript.setup.action.operation.contentType",
            "path": "TestScript.setup.action.operation.contentType",
            "comment": "If this is specified, then test engine shall set the 'Content-Type' header to the corresponding value.    If 'xml' is specified, then 'Content-Type' header of 'application/fhir+xml' will be set.    If 'json' is specified, then 'application/fhir+json' will be used.    If you'd like to explicitly set the 'Content-Type' to some other value then use the 'requestHeader' element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "xml",
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContentType"
                }
              ],
              "strength": "required",
              "description": "The content or mime type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/content-type"
              }
            }
          },
          {
            "id": "TestScript.setup.action.operation.destination",
            "path": "TestScript.setup.action.operation.destination",
            "comment": "If multiple TestScript.destination elements are defined and operation.destination is undefined, test engine will report an error as it cannot determine what destination to use for the exchange.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.encodeRequestUrl",
            "path": "TestScript.setup.action.operation.encodeRequestUrl",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true
          },
          {
            "id": "TestScript.setup.action.operation.origin",
            "path": "TestScript.setup.action.operation.origin",
            "comment": "If absent, test engine will send the message.  When present, test engine will not send the request message but will wait for the request message to be sent from this origin server.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.params",
            "path": "TestScript.setup.action.operation.params",
            "comment": "If \"url\" element is specified, then \"targetId\", \"params\", and \"resource\" elements will be ignored as \"url\" element will have everything needed for constructing the request url.  If \"params\" element is specified, then \"targetId\" element is ignored.  For FHIR operations that require a resource (e.g. \"read\" and \"vread\" operations), the \"resource\" element must be specified when \"params\" element is specified.  If \"url\" and \"params\" elements are absent, then the request url will be constructed from \"targetId\" fixture if present.  For \"read\" operation, the resource and id values will be extracted from \"targetId\" fixture and used to construct the url.  For \"vread\" and \"history\" operations, the versionId value will also be used.   Test engines would append whatever is specified for \"params\" to the URL after the resource type without tampering with the string (beyond encoding the URL for HTTP).  The \"params\" element does not correspond exactly to \"search parameters\".  Nor is it the \"path\".  It corresponds to the part of the URL that comes after the [type] (when \"resource\" element is specified); e.g. It corresponds to \"/[id]/_history/[vid] {?_format=[mime-type]}\" in the following operation: GET [base]/[type]/[id]/_history/[vid] {?_format=[mime-type]}  Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.requestHeader",
            "path": "TestScript.setup.action.operation.requestHeader",
            "comment": "This gives control to test-script writers to set headers explicitly based on test requirements.  It will allow for testing using:  - \"If-Modified-Since\" and \"If-None-Match\" headers.  See http://build.fhir.org/http.html#2.1.0.5.1 - \"If-Match\" header.  See http://build.fhir.org/http.html#2.1.0.11 - Conditional Create using \"If-None-Exist\".  See http://build.fhir.org/http.html#2.1.0.13.1 - Invalid \"Content-Type\" header for negative testing. - etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.requestHeader.id",
            "path": "TestScript.setup.action.operation.requestHeader.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.requestHeader.extension",
            "path": "TestScript.setup.action.operation.requestHeader.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.requestHeader.modifierExtension",
            "path": "TestScript.setup.action.operation.requestHeader.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.setup.action.operation.requestHeader.field",
            "path": "TestScript.setup.action.operation.requestHeader.field",
            "comment": "If header element is specified, then field is required.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.requestHeader.value",
            "path": "TestScript.setup.action.operation.requestHeader.value",
            "comment": "If header element is specified, then value is required.  No conversions will be done by the test engine e.g. \"xml\" to \"application/fhir+xml\".  The values will be set in HTTP headers \"as-is\".  Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.requestId",
            "path": "TestScript.setup.action.operation.requestId",
            "comment": "If a requestId is supplied, then the resulting request (both headers and body) is mapped to the fixture ID (which may be entirely new and previously undeclared) designated by \"requestId\".  If requestId is not specified, it is the test engine's responsibility to store the request and use it as the requestId in subsequent assertions when assertion path and/or headerField is specified, direction is equal to request, and the requestId in not specified.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.responseId",
            "path": "TestScript.setup.action.operation.responseId",
            "comment": "If a responseId is supplied, and the server responds, then the resulting response (both headers and body) is mapped to the fixture ID (which may be entirely new and previously undeclared) designated by \"responseId\".  If responseId is not specified, it is the test engine's responsibility to store the response and use it as the responseId in subsequent assertions when assertion path and/or headerField is specified and the responseId is not specified.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.sourceId",
            "path": "TestScript.setup.action.operation.sourceId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.targetId",
            "path": "TestScript.setup.action.operation.targetId",
            "comment": "If \"url\" element is specified, then \"targetId\", \"params\", and \"resource\" elements will be ignored as \"url\" element will have everything needed for constructing the request url.  If \"params\" element is specified, then \"targetId\" element is ignored.  For FHIR operations that require a resource (e.g. \"read\" and \"vread\" operations), the \"resource\" element must be specified when \"params\" element is specified.  If \"url\" and \"params\" elements are absent, then the request url will be constructed from \"targetId\" fixture if present.  For \"read\" operation, the resource and id values will be extracted from \"targetId\" fixture and used to construct the url.  For \"vread\" and \"history\" operations, the versionId value will also be used.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.url",
            "path": "TestScript.setup.action.operation.url",
            "comment": "Used to set the request URL explicitly.  If \"url\" element is defined, then \"targetId\", \"resource\", and \"params\" elements will be ignored.  Test engines would use whatever is specified in \"url\" without tampering with the string (beyond encoding the URL for HTTP).  Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert",
            "path": "TestScript.setup.action.assert",
            "comment": "In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "inv-5",
                "severity": "error",
                "human": "Only a single assertion SHALL be present within setup action assert element.",
                "expression": "contentType.count() + expression.count() + headerField.count() + minimumId.count() + navigationLinks.count() + path.count() + requestMethod.count() + resource.count() + responseCode.count() + response.count() + rule.count() + ruleset.count() + validateProfileId.count() <=1",
                "xpath": "count(f:contentType) + count(f:expression) + count(f:headerField) + count(f:minimumId) + count(f:navigationLinks) + count(f:path) + count(f:requestMethod) + count(f:resource) + count(f:responseCode) + count(f:response) + count(f:rule) + count(f:ruleset) + count(f:validateProfileId)  <=1"
              },
              {
                "key": "inv-10",
                "severity": "error",
                "human": "Setup action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither.",
                "expression": "compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())",
                "xpath": "(f:compareToSourceId and f:compareToSourceExpression) or (f:compareToSourceId and f:compareToSourcePath) or not(f:compareToSourceId or f:compareToSourceExpression or f:compareToSourcePath)"
              },
              {
                "key": "inv-12",
                "severity": "error",
                "human": "Setup action assert response and responseCode SHALL be empty when direction equals request",
                "expression": "(response.empty() and responseCode.empty() and direction = 'request') or direction.empty() or direction = 'response'",
                "xpath": "((count(f:response) + count(f:responseCode)) = 0 and (f:direction/@value='request')) or (count(f:direction) = 0) or (f:direction/@value='response')"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.id",
            "path": "TestScript.setup.action.assert.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.extension",
            "path": "TestScript.setup.action.assert.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.modifierExtension",
            "path": "TestScript.setup.action.assert.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.setup.action.assert.label",
            "path": "TestScript.setup.action.assert.label",
            "comment": "This has no impact on the verification itself.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.description",
            "path": "TestScript.setup.action.assert.description",
            "comment": "This has no impact on the verification itself.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.direction",
            "path": "TestScript.setup.action.assert.direction",
            "comment": "If the direction is specified as \"response\" (the default), then the processing of this assert is against the received response message. If the direction is specified as \"request\", then the processing of this assert is against the sent request message.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AssertionDirectionType"
                }
              ],
              "strength": "required",
              "description": "The type of direction to use for assertion.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/assert-direction-codes"
              }
            }
          },
          {
            "id": "TestScript.setup.action.assert.compareToSourceId",
            "path": "TestScript.setup.action.assert.compareToSourceId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.compareToSourceExpression",
            "path": "TestScript.setup.action.assert.compareToSourceExpression",
            "comment": "Thefhirpath expression to be evaluated against the expected fixture to compare to. Ignored if \"assert.value\" is used. The evaluation will be done before the assertion is evaluated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.compareToSourcePath",
            "path": "TestScript.setup.action.assert.compareToSourcePath",
            "comment": "The XPath or JSONPath expression to be evaluated against the expected fixture to compare to. Ignored if \"assert.value\" is used. The evaluation will be done before the assertion is evaluated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.contentType",
            "path": "TestScript.setup.action.assert.contentType",
            "comment": "If this is specified, then test engine shall confirm that the content-type of the last operation's headers is set to this value.  If \"assert.sourceId\" element is specified, then the evaluation will be done against the headers mapped to that sourceId (and not the last operation's headers).    If 'xml' is specified, then 'Content-Type' header of 'application/fhir+xml' will be confirmed. If 'json' is specified, then 'application/fhir+json' will be used. If you'd like to have more control over the string, then use 'assert.headerField' instead.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "xml",
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContentType"
                }
              ],
              "strength": "required",
              "description": "The content or mime type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/content-type"
              }
            }
          },
          {
            "id": "TestScript.setup.action.assert.expression",
            "path": "TestScript.setup.action.assert.expression",
            "comment": "If both \"expression\" and a \"fixtureId\" are specified, then the expression will be evaluated against the request or response body mapped to the fixtureId.  If \"expression\" is specified and a \"fixtureId\" is not, then the expression will be evaluated against the response body of the last operation.  Test engines are to store the request and response body and headers of the last operation at all times for subsequent assertions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.headerField",
            "path": "TestScript.setup.action.assert.headerField",
            "comment": "If \"headerField\" is specified then \"value\" must be specified.  If \"sourceId\" is not specified, then \"headerField\" will be evaluated against the last operation's response headers.  Test engines are to keep track of the last operation's response body and response headers.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.minimumId",
            "path": "TestScript.setup.action.assert.minimumId",
            "comment": "Asserts that the response contains all the element/content in another fixture pointed to by minimumId.  This can be a statically defined fixture or one that is dynamically set via responseId.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.navigationLinks",
            "path": "TestScript.setup.action.assert.navigationLinks",
            "comment": "Asserts that the Bundle contains first, last, and next links.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.operator",
            "path": "TestScript.setup.action.assert.operator",
            "comment": "Operators are useful especially for negative testing.  If operator is not specified, then the \"equals\" operator is assumed; e.g. <code>   <assert>  <operator value=\"in\" />  <responseCode value=\"200,201,204\" />    </assert>    <assert>  <operator value=\"notEquals\" />  <response value=\"okay\"/>   </assert>    <assert>  <operator value=\"greaterThan\" />    <responseHeader>     <field value=\"Content-Length\" />     <value value=\"0\" />    <responseHeader/>   </assert> </code>.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AssertionOperatorType"
                }
              ],
              "strength": "required",
              "description": "The type of operator to use for assertion.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/assert-operator-codes"
              }
            }
          },
          {
            "id": "TestScript.setup.action.assert.path",
            "path": "TestScript.setup.action.assert.path",
            "comment": "If both \"path\" and a \"fixtureId\" are specified, then the path will be evaluated against the request or response body mapped to the fixtureId.  If \"path\" is specified and a \"fixtureId\" is not, then the path will be evaluated against the response body of the last operation.  Test engines are to store the request and response body and headers of the last operation at all times for subsequent assertions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.requestMethod",
            "path": "TestScript.setup.action.assert.requestMethod",
            "comment": "If \"requestMethod\" is specified then it will be used in place of \"value\". The \"requestMethod\" will evaluate against the last operation's request HTTP operation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestScriptRequestMethodCode"
                }
              ],
              "strength": "required",
              "description": "The allowable request method or HTTP operation codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/http-operations"
              }
            }
          },
          {
            "id": "TestScript.setup.action.assert.requestURL",
            "path": "TestScript.setup.action.assert.requestURL",
            "comment": "If \"requestURL\" is specified then it will be used in place of \"value\". The \"requestURL\" will evaluate against the last operation's full request URL path string.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.resource",
            "path": "TestScript.setup.action.assert.resource",
            "comment": "This will be expected resource type in response body e.g. in read, vread, search, etc.  See http://build.fhir.org/resourcelist.html for complete list of resource types; e.g. <assert > <resourceType value=\"Patient\" </assert>.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FHIRDefinedType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Either a resource or a data type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/defined-types"
              }
            }
          },
          {
            "id": "TestScript.setup.action.assert.response",
            "path": "TestScript.setup.action.assert.response",
            "comment": "This is a shorter way of achieving similar verifications via \"assert.responseCode\".  If you need more control, then use \"assert.responseCode\"  e.g. <assert>  <contentType value=\"json\" />  <response value=\"okay\"/> </assert>.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AssertionResponseTypes"
                }
              ],
              "strength": "required",
              "description": "The type of response code to use for assertion.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/assert-response-code-types"
              }
            }
          },
          {
            "id": "TestScript.setup.action.assert.responseCode",
            "path": "TestScript.setup.action.assert.responseCode",
            "comment": "To be used with \"operator\" attribute value. Asserts that the response code equals this value if \"operator\" is not specified.   If the operator is \"in\" or \"notIn\" then the responseCode would be a comma-separated list of values e.g. \"200,201\". Otherwise, it's expected to be a numeric value.   If \"fixture\" is not specified, then the \"responseBodyId\" value of the last operation is assumed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ActionAssertRule"
              }
            ],
            "path": "TestScript.setup.action.assert.rule",
            "comment": "Each rule should get evaluated by test engines as one assertion regardless of how many assertions are contained within the external rule template.  The impact of negative rule evaluation on test script execution is the same as an assertion failure which is descibed elsewhere in the TestScript resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule.id",
            "path": "TestScript.setup.action.assert.rule.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule.extension",
            "path": "TestScript.setup.action.assert.rule.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule.modifierExtension",
            "path": "TestScript.setup.action.assert.rule.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.setup.action.assert.rule.ruleId",
            "path": "TestScript.setup.action.assert.rule.ruleId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule.param",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ActionAssertRuleParam"
              }
            ],
            "path": "TestScript.setup.action.assert.rule.param",
            "comment": "The parameter value can be dynamic at runtime.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule.param.id",
            "path": "TestScript.setup.action.assert.rule.param.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule.param.extension",
            "path": "TestScript.setup.action.assert.rule.param.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule.param.modifierExtension",
            "path": "TestScript.setup.action.assert.rule.param.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.setup.action.assert.rule.param.name",
            "path": "TestScript.setup.action.assert.rule.param.name",
            "comment": "The external rule template would be looking for the parameter by this name.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule.param.value",
            "path": "TestScript.setup.action.assert.rule.param.value",
            "comment": "This value overwrites the value (if any) specified in TestScript.rule.param.value.  The param value can be a string-representation of a number, string, or boolean that is expected.  Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ActionAssertRuleset"
              }
            ],
            "path": "TestScript.setup.action.assert.ruleset",
            "comment": "Each rule within a ruleset should get evaluated by test engines as a separate assertion.  The impact of negative rule evaluation on test script execution is the same as an assertion failure which is descibed elsewhere in the TestScript resource.  If the first rule within the ruleset results in a failed assertion, then test engines do not have to evaluate the rest of the rules within the ruleset.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.id",
            "path": "TestScript.setup.action.assert.ruleset.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.extension",
            "path": "TestScript.setup.action.assert.ruleset.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.modifierExtension",
            "path": "TestScript.setup.action.assert.ruleset.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rulesetId",
            "path": "TestScript.setup.action.assert.ruleset.rulesetId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ActionAssertRulesetRule"
              }
            ],
            "path": "TestScript.setup.action.assert.ruleset.rule",
            "comment": "This qualifies each param name so that  a parameter with the same name can be used differently by the different rules with the ruleset.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.id",
            "path": "TestScript.setup.action.assert.ruleset.rule.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.extension",
            "path": "TestScript.setup.action.assert.ruleset.rule.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.modifierExtension",
            "path": "TestScript.setup.action.assert.ruleset.rule.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.ruleId",
            "path": "TestScript.setup.action.assert.ruleset.rule.ruleId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.param",
            "path": "TestScript.setup.action.assert.ruleset.rule.param",
            "comment": "The parameter value can be dynamic at runtime.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.param.id",
            "path": "TestScript.setup.action.assert.ruleset.rule.param.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.param.extension",
            "path": "TestScript.setup.action.assert.ruleset.rule.param.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.param.modifierExtension",
            "path": "TestScript.setup.action.assert.ruleset.rule.param.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.param.name",
            "path": "TestScript.setup.action.assert.ruleset.rule.param.name",
            "comment": "The external rule template would be looking for the parameter by this name.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.param.value",
            "path": "TestScript.setup.action.assert.ruleset.rule.param.value",
            "comment": "This value overwrites the value (if any) specified in TestScript.ruleset.rule.param.value.  The param value can be a string-representation of a number, string, or boolean that is expected.  Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.sourceId",
            "path": "TestScript.setup.action.assert.sourceId",
            "comment": "This can be a statically defined fixture (at the top of the testscript) or a dynamically set fixture created by responseId of the action.operation element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.validateProfileId",
            "path": "TestScript.setup.action.assert.validateProfileId",
            "comment": "The ID of a Profile fixture. Asserts that the response is valid according to the Profile specified by validateProfileId.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.value",
            "path": "TestScript.setup.action.assert.value",
            "comment": "The string-representation of a number, string, or boolean that is expected.  Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before comparing this value to the actual value.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.warningOnly",
            "path": "TestScript.setup.action.assert.warningOnly",
            "comment": "If this element is specified and it is true, then assertion failures can be logged by test engine but should not stop the test script execution from proceeding.  There are likely cases where the spec is not clear on what should happen. If the spec says something is optional (maybe a response header for example), but a server doesn’t do it, we could choose to issue a warning.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "TestScript.test",
            "path": "TestScript.test",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.test.id",
            "path": "TestScript.test.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.test.extension",
            "path": "TestScript.test.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.test.modifierExtension",
            "path": "TestScript.test.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.test.name",
            "path": "TestScript.test.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.test.description",
            "path": "TestScript.test.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.test.action",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TestAction"
              }
            ],
            "path": "TestScript.test.action",
            "comment": "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "inv-2",
                "severity": "error",
                "human": "Test action SHALL contain either an operation or assert but not both.",
                "expression": "operation.exists() xor assert.exists()",
                "xpath": "(f:operation or f:assert) and not(f:operation and f:assert)"
              }
            ]
          },
          {
            "id": "TestScript.test.action.id",
            "path": "TestScript.test.action.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.test.action.extension",
            "path": "TestScript.test.action.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.test.action.modifierExtension",
            "path": "TestScript.test.action.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.test.action.operation",
            "path": "TestScript.test.action.operation",
            "min": 0,
            "max": "1",
            "contentReference": "#TestScript.setup.action.operation",
            "constraint": [
              {
                "key": "inv-8",
                "severity": "error",
                "human": "Test operation SHALL contain either sourceId or targetId or params or url.",
                "expression": "sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' | 'search' | 'transaction' | 'history'))",
                "xpath": "f:sourceId or (f:targetId or f:url or f:params) and (count(f:targetId) + count(f:url) + count(f:params) =1) or (f:type/f:code/@value='capabilities' or f:type/f:code/@value='search' or f:type/f:code/@value='transaction' or f:type/f:code/@value='history')"
              }
            ]
          },
          {
            "id": "TestScript.test.action.assert",
            "path": "TestScript.test.action.assert",
            "comment": "In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine.",
            "min": 0,
            "max": "1",
            "contentReference": "#TestScript.setup.action.assert",
            "constraint": [
              {
                "key": "inv-6",
                "severity": "error",
                "human": "Only a single assertion SHALL be present within test action assert element.",
                "expression": "contentType.count() + expression.count() + headerField.count() + minimumId.count() + navigationLinks.count() + path.count() + requestMethod.count() + resource.count() + responseCode.count() + response.count() + rule.count() + ruleset.count() + validateProfileId.count() <=1",
                "xpath": "count(f:contentType) + count(f:expression) + count(f:headerField) + count(f:minimumId) + count(f:navigationLinks) + count(f:path) + count(f:requestMethod) + count(f:resource) + count(f:responseCode) + count(f:response) + count(f:rule) + count(f:ruleset) + count(f:validateProfileId)  <=1"
              },
              {
                "key": "inv-11",
                "severity": "error",
                "human": "Test action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither.",
                "expression": "compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())",
                "xpath": "(f:compareToSourceId and f:compareToSourceExpression) or (f:compareToSourceId and f:compareToSourcePath) or not(f:compareToSourceId or f:compareToSourceExpression or f:compareToSourcePath)"
              },
              {
                "key": "inv-13",
                "severity": "error",
                "human": "Test action assert response and response and responseCode SHALL be empty when direction equals request",
                "expression": "(response.empty() and responseCode.empty() and direction = 'request') or direction.empty() or direction = 'response'",
                "xpath": "((count(f:response) + count(f:responseCode)) = 0 and (f:direction/@value='request')) or (count(f:direction) = 0) or (f:direction/@value='response')"
              }
            ]
          },
          {
            "id": "TestScript.teardown",
            "path": "TestScript.teardown",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.teardown.id",
            "path": "TestScript.teardown.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.teardown.extension",
            "path": "TestScript.teardown.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.teardown.modifierExtension",
            "path": "TestScript.teardown.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.teardown.action",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TeardownAction"
              }
            ],
            "path": "TestScript.teardown.action",
            "comment": "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "TestScript.teardown.action.id",
            "path": "TestScript.teardown.action.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.teardown.action.extension",
            "path": "TestScript.teardown.action.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "TestScript.teardown.action.modifierExtension",
            "path": "TestScript.teardown.action.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.teardown.action.operation",
            "path": "TestScript.teardown.action.operation",
            "min": 1,
            "max": "1",
            "contentReference": "#TestScript.setup.action.operation",
            "constraint": [
              {
                "key": "inv-9",
                "severity": "error",
                "human": "Teardown operation SHALL contain either sourceId or targetId or params or url.",
                "expression": "sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' | 'search' | 'transaction' | 'history'))",
                "xpath": "f:sourceId or (f:targetId or f:url or (f:params and f:resource)) and (count(f:targetId) + count(f:url) + count(f:params) =1) or (f:type/f:code/@value='capabilities' or f:type/f:code/@value='search' or f:type/f:code/@value='transaction' or f:type/f:code/@value='history')"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "TestScript",
            "path": "TestScript",
            "min": 0,
            "max": "*"
          },
          {
            "id": "TestScript.url",
            "path": "TestScript.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.identifier",
            "path": "TestScript.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this test script outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.version",
            "path": "TestScript.version",
            "comment": "There may be different test script instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the test script with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.name",
            "path": "TestScript.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.title",
            "path": "TestScript.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.status",
            "path": "TestScript.status",
            "comment": "Allows filtering of test scripts that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired test script without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "TestScript.experimental",
            "path": "TestScript.experimental",
            "comment": "Allows filtering of test script that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental test script in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "TestScript.date",
            "path": "TestScript.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the test script. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.publisher",
            "path": "TestScript.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the test script is the organization or individual primarily responsible for the maintenance and upkeep of the test script. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the test script. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.contact",
            "path": "TestScript.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.description",
            "path": "TestScript.description",
            "comment": "This description can be used to capture details such as why the test script was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the test script as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "TestScript.useContext",
            "path": "TestScript.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "TestScript.jurisdiction",
            "path": "TestScript.jurisdiction",
            "comment": "It may be possible for the test script to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "TestScript.purpose",
            "path": "TestScript.purpose",
            "comment": "This element does not describe the usage of the test script Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this test script.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "TestScript.copyright",
            "path": "TestScript.copyright",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "TestScript.origin",
            "path": "TestScript.origin",
            "comment": "The purpose of this element is to define the profile of an origin element used elsewhere in the script.  Test engines could then use the origin-profile mapping to offer a filtered list of test systems that can serve as the sender for the interaction.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.origin.index",
            "path": "TestScript.origin.index",
            "comment": "A given origin index (e.g. 1) can appear only once in the list (e.g. Origin 1 cannot be specified twice ... once as FormFiller and and again as FormProcessor within the same script as that could get confusing during test configuration). \n\nDifferent origin indices could play the same actor in the same test script (e.g. You could have two different test systems acting as Form-Filler).\n\nThe origin indices provided elsewhere in the test script must be one of these origin indices.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "TestScript.origin.profile",
            "path": "TestScript.origin.profile",
            "comment": "Must be a \"sender\"/\"client\" profile.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "meaningWhenMissing": "FHIR-Client",
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestScriptProfileOriginType"
                }
              ],
              "strength": "extensible",
              "description": "The type of origin profile the test system supports.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/testscript-profile-origin-types"
              }
            }
          },
          {
            "id": "TestScript.destination",
            "path": "TestScript.destination",
            "comment": "The purpose of this element is to define the profile of a destination element used elsewhere in the script.  Test engines could then use the destination-profile mapping to offer a filtered list of test systems that can serve as the receiver for the interaction.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.destination.index",
            "path": "TestScript.destination.index",
            "comment": "A given destination index (e.g. 1) can appear only once in the list (e.g. Destination 1 cannot be specified twice ... once as Form-Manager and again as Form-Processor within the same script as that could get confusing during test configuration). \n\nDifferent destination indices could play the same actor in the same test script (e.g. You could have two different test systems acting as Form-Manager).\n\nThe destination indices provided elsewhere in the test script must be one of these destination indices.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "TestScript.destination.profile",
            "path": "TestScript.destination.profile",
            "comment": "Must be a \"receiver\"/\"server\" profile.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "meaningWhenMissing": "FHIR-Server",
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestScriptProfileDestinationType"
                }
              ],
              "strength": "extensible",
              "description": "The type of destination profile the test system supports.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/testscript-profile-destination-types"
              }
            }
          },
          {
            "id": "TestScript.metadata",
            "path": "TestScript.metadata",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "inv-4",
                "severity": "error",
                "human": "TestScript metadata capability SHALL contain required or validated or both.",
                "expression": "capability.required.exists() or capability.validated.exists()",
                "xpath": "f:capability/f:required or f:capability/f:validated or (f:capability/f:required and f:capability/f:validated)"
              }
            ]
          },
          {
            "id": "TestScript.metadata.link",
            "path": "TestScript.metadata.link",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.metadata.link.url",
            "path": "TestScript.metadata.link.url",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "TestScript.metadata.link.description",
            "path": "TestScript.metadata.link.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability",
            "path": "TestScript.metadata.capability",
            "comment": "When the metadata capabilities section is defined at TestScript.metadata or at TestScript.setup.metadata, and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then all the tests in the TestScript are skipped.  When the metadata capabilities section is defined at TestScript.test.metadata and the server's conformance statement does not contain the elements defined in the minimal conformance statement, then only that test is skipped.  The \"metadata.capabilities.required\" and \"metadata.capabilities.validated\" elements only indicate whether the capabilities are the primary focus of the test script or not.  They do not impact the skipping logic.  Capabilities whose \"metadata.capabilities.validated\" flag is true are the primary focus of the test script.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability.required",
            "path": "TestScript.metadata.capability.required",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "TestScript.metadata.capability.validated",
            "path": "TestScript.metadata.capability.validated",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "TestScript.metadata.capability.description",
            "path": "TestScript.metadata.capability.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability.origin",
            "path": "TestScript.metadata.capability.origin",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability.destination",
            "path": "TestScript.metadata.capability.destination",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability.link",
            "path": "TestScript.metadata.capability.link",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "TestScript.metadata.capability.capabilities",
            "path": "TestScript.metadata.capability.capabilities",
            "comment": "The conformance statement of the server has to contain at a minimum the contents of the reference pointed to by this element.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/CapabilityStatement"
              }
            ]
          },
          {
            "id": "TestScript.fixture",
            "path": "TestScript.fixture",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.fixture.autocreate",
            "path": "TestScript.fixture.autocreate",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "TestScript.fixture.autodelete",
            "path": "TestScript.fixture.autodelete",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "TestScript.fixture.resource",
            "path": "TestScript.fixture.resource",
            "comment": "See http://build.fhir.org/resourcelist.html for complete list of resource types.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "TestScript.profile",
            "path": "TestScript.profile",
            "comment": "See http://build.fhir.org/resourcelist.html for complete list of resource types.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "TestScript.variable",
            "path": "TestScript.variable",
            "comment": "Variables would be set based either on XPath/JSONPath expressions against fixtures (static and response), or headerField evaluations against response headers. If variable evaluates to nodelist or anything other than a primitive value, then test engine would report an error.  Variables would be used to perform clean replacements in \"operation.params\", \"operation.requestHeader.value\", and \"operation.url\" element values during operation calls and in \"assert.value\" during assertion evaluations. This limits the places that test engines would need to look for placeholders \"${}\".  Variables are scoped to the whole script. They are NOT evaluated at declaration. They are evaluated by test engine when used for substitutions in \"operation.params\", \"operation.requestHeader.value\", and \"operation.url\" element values during operation calls and in \"assert.value\" during assertion evaluations.  See example testscript-search.xml.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "inv-3",
                "severity": "error",
                "human": "Variable can only contain one of expression, headerField or path.",
                "expression": "expression.empty() or headerField.empty() or path.empty()",
                "xpath": "not(f:expression and f:headerField and f:path)"
              }
            ]
          },
          {
            "id": "TestScript.variable.name",
            "path": "TestScript.variable.name",
            "comment": "Placeholders would contain the variable name wrapped in ${} in \"operation.params\", \"operation.requestHeader.value\", and \"operation.url\" elements.  These placeholders would need to be replaced by the variable value before the operation is executed.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.defaultValue",
            "path": "TestScript.variable.defaultValue",
            "comment": "The purpose of this element is to allow for a pre-defined value that can be used as a default or as an override value. Test engines can optionally use this as a placeholder for user-defined execution time values.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.description",
            "path": "TestScript.variable.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.expression",
            "path": "TestScript.variable.expression",
            "comment": "If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to.  If expression or path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to.  It is an error to define any combination of expression, headerField and path.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.headerField",
            "path": "TestScript.variable.headerField",
            "comment": "If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to.  If path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to.  It is an error to define both headerField and path.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.hint",
            "path": "TestScript.variable.hint",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.path",
            "path": "TestScript.variable.path",
            "comment": "If headerField is defined, then the variable will be evaluated against the headers that sourceId is pointing to.  If expression or path is defined, then the variable will be evaluated against the fixture body that sourceId is pointing to.  It is an error to define any combination of expression, headerField and path.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.variable.sourceId",
            "path": "TestScript.variable.sourceId",
            "comment": "This can be a statically defined fixture (at the top of the TestScript) or a dynamically set fixture created by responseId of the `action.operation` element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.rule",
            "path": "TestScript.rule",
            "comment": "Each rule should be treated by test engines as one assertion regardless of how many assertions are contained within the external rule template.  The impact of negative rule evaluation on test script execution is the same as an assertion failure which is described elsewhere in the TestScript resource.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.rule.resource",
            "path": "TestScript.rule.resource",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "TestScript.rule.param",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "RuleParam"
              }
            ],
            "path": "TestScript.rule.param",
            "comment": "The parameter value can be dynamic at runtime.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.rule.param.name",
            "path": "TestScript.rule.param.name",
            "comment": "The external rule template would be looking for the parameter by this name.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.rule.param.value",
            "path": "TestScript.rule.param.value",
            "comment": "This value can be overwritten by the assert.rule.param.value i.e. TestScript.rule.param.value will be used if assert.rule.param.value is not specified.  The param value can be a string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.ruleset",
            "path": "TestScript.ruleset",
            "comment": "Each rule within a ruleset should be treated by test engines as one assertion regardless of how many assertions are contained within the external rule template.  The impact of negative rule evaluation on test script execution is the same as an assertion failure which is described elsewhere in the TestScript resource.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.resource",
            "path": "TestScript.ruleset.resource",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Resource"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "RulesetRule"
              }
            ],
            "path": "TestScript.ruleset.rule",
            "comment": "This qualifies each param name so that  a parameter with the same name can be used differently by the different rules with the ruleset.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule.ruleId",
            "path": "TestScript.ruleset.rule.ruleId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule.param",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "RulesetRuleParam"
              }
            ],
            "path": "TestScript.ruleset.rule.param",
            "comment": "The parameter value can be dynamic at runtime.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule.param.name",
            "path": "TestScript.ruleset.rule.param.name",
            "comment": "The external rule template would be looking for the parameter by this name.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.ruleset.rule.param.value",
            "path": "TestScript.ruleset.rule.param.value",
            "comment": "This value can be overwritten by the assert.ruleset.rule.param.value i.e. TestScript.ruleset.rule.param.value will be used if assert.ruleset.rule.param.value is not specified.  The param value can be a string-representation of a number, string, or boolean that is expected. Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup",
            "path": "TestScript.setup",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.setup.action",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "SetupAction"
              }
            ],
            "path": "TestScript.setup.action",
            "comment": "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "inv-1",
                "severity": "error",
                "human": "Setup action SHALL contain either an operation or assert but not both.",
                "expression": "operation.exists() xor assert.exists()",
                "xpath": "(f:operation or f:assert) and not(f:operation and f:assert)"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation",
            "path": "TestScript.setup.action.operation",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "inv-7",
                "severity": "error",
                "human": "Setup operation SHALL contain either sourceId or targetId or params or url.",
                "expression": "sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' |'search' | 'transaction' | 'history'))",
                "xpath": "f:sourceId or ((f:targetId or f:url or f:params) and (count(f:targetId) + count(f:url) + count(f:params) =1)) or (f:type/f:code/@value='capabilities' or f:type/f:code/@value='search' or f:type/f:code/@value='transaction' or f:type/f:code/@value='history')"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.type",
            "path": "TestScript.setup.action.operation.type",
            "comment": "See http://build.fhir.org/http.html for list of server interactions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestScriptOperationCode"
                }
              ],
              "strength": "extensible",
              "description": "The allowable operation code types.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/testscript-operation-codes"
              }
            }
          },
          {
            "id": "TestScript.setup.action.operation.resource",
            "path": "TestScript.setup.action.operation.resource",
            "comment": "If \"url\" element is specified, then \"targetId\", \"params\", and \"resource\" elements will be ignored as \"url\" element will have everything needed for constructing the request url.  If \"params\" element is specified, then \"targetId\" element is ignored. For FHIR operations that require a resource (e.g. \"read\" and \"vread\" operations), the \"resource\" element must be specified when \"params\" element is specified.  If \"url\" and \"params\" elements are absent, then the request url will be constructed from \"targetId\" fixture if present. For \"read\" operation, the resource and id values will be extracted from \"targetId\" fixture and used to construct the url. For \"vread\" and \"history\" operations, the versionId value will also be used.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FHIRDefinedType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Either a resource or a data type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/defined-types"
              }
            }
          },
          {
            "id": "TestScript.setup.action.operation.label",
            "path": "TestScript.setup.action.operation.label",
            "comment": "This has no impact on the verification itself.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.description",
            "path": "TestScript.setup.action.operation.description",
            "comment": "This has no impact on the verification itself.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.accept",
            "path": "TestScript.setup.action.operation.accept",
            "comment": "If this is specified, then test engine shall set the 'Accept' header to the corresponding value.    If 'xml' is specified, then 'Accept' header of 'application/fhir+xml' will be set.  If 'json' is specified, then 'application/fhir+json' will be used.    If you'd like to explicitly set the 'Accept' to some other value then use the 'requestHeader' element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "xml",
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContentType"
                }
              ],
              "strength": "required",
              "description": "The content or mime type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/content-type"
              }
            }
          },
          {
            "id": "TestScript.setup.action.operation.contentType",
            "path": "TestScript.setup.action.operation.contentType",
            "comment": "If this is specified, then test engine shall set the 'Content-Type' header to the corresponding value.    If 'xml' is specified, then 'Content-Type' header of 'application/fhir+xml' will be set.    If 'json' is specified, then 'application/fhir+json' will be used.    If you'd like to explicitly set the 'Content-Type' to some other value then use the 'requestHeader' element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "xml",
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContentType"
                }
              ],
              "strength": "required",
              "description": "The content or mime type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/content-type"
              }
            }
          },
          {
            "id": "TestScript.setup.action.operation.destination",
            "path": "TestScript.setup.action.operation.destination",
            "comment": "If multiple TestScript.destination elements are defined and operation.destination is undefined, test engine will report an error as it cannot determine what destination to use for the exchange.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.encodeRequestUrl",
            "path": "TestScript.setup.action.operation.encodeRequestUrl",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": true
          },
          {
            "id": "TestScript.setup.action.operation.origin",
            "path": "TestScript.setup.action.operation.origin",
            "comment": "If absent, test engine will send the message.  When present, test engine will not send the request message but will wait for the request message to be sent from this origin server.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.params",
            "path": "TestScript.setup.action.operation.params",
            "comment": "If \"url\" element is specified, then \"targetId\", \"params\", and \"resource\" elements will be ignored as \"url\" element will have everything needed for constructing the request url.  If \"params\" element is specified, then \"targetId\" element is ignored.  For FHIR operations that require a resource (e.g. \"read\" and \"vread\" operations), the \"resource\" element must be specified when \"params\" element is specified.  If \"url\" and \"params\" elements are absent, then the request url will be constructed from \"targetId\" fixture if present.  For \"read\" operation, the resource and id values will be extracted from \"targetId\" fixture and used to construct the url.  For \"vread\" and \"history\" operations, the versionId value will also be used.   Test engines would append whatever is specified for \"params\" to the URL after the resource type without tampering with the string (beyond encoding the URL for HTTP).  The \"params\" element does not correspond exactly to \"search parameters\".  Nor is it the \"path\".  It corresponds to the part of the URL that comes after the [type] (when \"resource\" element is specified); e.g. It corresponds to \"/[id]/_history/[vid] {?_format=[mime-type]}\" in the following operation: GET [base]/[type]/[id]/_history/[vid] {?_format=[mime-type]}  Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.requestHeader",
            "path": "TestScript.setup.action.operation.requestHeader",
            "comment": "This gives control to test-script writers to set headers explicitly based on test requirements.  It will allow for testing using:  - \"If-Modified-Since\" and \"If-None-Match\" headers.  See http://build.fhir.org/http.html#2.1.0.5.1 - \"If-Match\" header.  See http://build.fhir.org/http.html#2.1.0.11 - Conditional Create using \"If-None-Exist\".  See http://build.fhir.org/http.html#2.1.0.13.1 - Invalid \"Content-Type\" header for negative testing. - etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.requestHeader.field",
            "path": "TestScript.setup.action.operation.requestHeader.field",
            "comment": "If header element is specified, then field is required.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.requestHeader.value",
            "path": "TestScript.setup.action.operation.requestHeader.value",
            "comment": "If header element is specified, then value is required.  No conversions will be done by the test engine e.g. \"xml\" to \"application/fhir+xml\".  The values will be set in HTTP headers \"as-is\".  Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.requestId",
            "path": "TestScript.setup.action.operation.requestId",
            "comment": "If a requestId is supplied, then the resulting request (both headers and body) is mapped to the fixture ID (which may be entirely new and previously undeclared) designated by \"requestId\".  If requestId is not specified, it is the test engine's responsibility to store the request and use it as the requestId in subsequent assertions when assertion path and/or headerField is specified, direction is equal to request, and the requestId in not specified.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.responseId",
            "path": "TestScript.setup.action.operation.responseId",
            "comment": "If a responseId is supplied, and the server responds, then the resulting response (both headers and body) is mapped to the fixture ID (which may be entirely new and previously undeclared) designated by \"responseId\".  If responseId is not specified, it is the test engine's responsibility to store the response and use it as the responseId in subsequent assertions when assertion path and/or headerField is specified and the responseId is not specified.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.sourceId",
            "path": "TestScript.setup.action.operation.sourceId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.targetId",
            "path": "TestScript.setup.action.operation.targetId",
            "comment": "If \"url\" element is specified, then \"targetId\", \"params\", and \"resource\" elements will be ignored as \"url\" element will have everything needed for constructing the request url.  If \"params\" element is specified, then \"targetId\" element is ignored.  For FHIR operations that require a resource (e.g. \"read\" and \"vread\" operations), the \"resource\" element must be specified when \"params\" element is specified.  If \"url\" and \"params\" elements are absent, then the request url will be constructed from \"targetId\" fixture if present.  For \"read\" operation, the resource and id values will be extracted from \"targetId\" fixture and used to construct the url.  For \"vread\" and \"history\" operations, the versionId value will also be used.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.operation.url",
            "path": "TestScript.setup.action.operation.url",
            "comment": "Used to set the request URL explicitly.  If \"url\" element is defined, then \"targetId\", \"resource\", and \"params\" elements will be ignored.  Test engines would use whatever is specified in \"url\" without tampering with the string (beyond encoding the URL for HTTP).  Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before sending the request.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert",
            "path": "TestScript.setup.action.assert",
            "comment": "In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "inv-5",
                "severity": "error",
                "human": "Only a single assertion SHALL be present within setup action assert element.",
                "expression": "contentType.count() + expression.count() + headerField.count() + minimumId.count() + navigationLinks.count() + path.count() + requestMethod.count() + resource.count() + responseCode.count() + response.count() + rule.count() + ruleset.count() + validateProfileId.count() <=1",
                "xpath": "count(f:contentType) + count(f:expression) + count(f:headerField) + count(f:minimumId) + count(f:navigationLinks) + count(f:path) + count(f:requestMethod) + count(f:resource) + count(f:responseCode) + count(f:response) + count(f:rule) + count(f:ruleset) + count(f:validateProfileId)  <=1"
              },
              {
                "key": "inv-10",
                "severity": "error",
                "human": "Setup action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither.",
                "expression": "compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())",
                "xpath": "(f:compareToSourceId and f:compareToSourceExpression) or (f:compareToSourceId and f:compareToSourcePath) or not(f:compareToSourceId or f:compareToSourceExpression or f:compareToSourcePath)"
              },
              {
                "key": "inv-12",
                "severity": "error",
                "human": "Setup action assert response and responseCode SHALL be empty when direction equals request",
                "expression": "(response.empty() and responseCode.empty() and direction = 'request') or direction.empty() or direction = 'response'",
                "xpath": "((count(f:response) + count(f:responseCode)) = 0 and (f:direction/@value='request')) or (count(f:direction) = 0) or (f:direction/@value='response')"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.label",
            "path": "TestScript.setup.action.assert.label",
            "comment": "This has no impact on the verification itself.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.description",
            "path": "TestScript.setup.action.assert.description",
            "comment": "This has no impact on the verification itself.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.direction",
            "path": "TestScript.setup.action.assert.direction",
            "comment": "If the direction is specified as \"response\" (the default), then the processing of this assert is against the received response message. If the direction is specified as \"request\", then the processing of this assert is against the sent request message.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AssertionDirectionType"
                }
              ],
              "strength": "required",
              "description": "The type of direction to use for assertion.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/assert-direction-codes"
              }
            }
          },
          {
            "id": "TestScript.setup.action.assert.compareToSourceId",
            "path": "TestScript.setup.action.assert.compareToSourceId",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.compareToSourceExpression",
            "path": "TestScript.setup.action.assert.compareToSourceExpression",
            "comment": "Thefhirpath expression to be evaluated against the expected fixture to compare to. Ignored if \"assert.value\" is used. The evaluation will be done before the assertion is evaluated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.compareToSourcePath",
            "path": "TestScript.setup.action.assert.compareToSourcePath",
            "comment": "The XPath or JSONPath expression to be evaluated against the expected fixture to compare to. Ignored if \"assert.value\" is used. The evaluation will be done before the assertion is evaluated.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.contentType",
            "path": "TestScript.setup.action.assert.contentType",
            "comment": "If this is specified, then test engine shall confirm that the content-type of the last operation's headers is set to this value.  If \"assert.sourceId\" element is specified, then the evaluation will be done against the headers mapped to that sourceId (and not the last operation's headers).    If 'xml' is specified, then 'Content-Type' header of 'application/fhir+xml' will be confirmed. If 'json' is specified, then 'application/fhir+json' will be used. If you'd like to have more control over the string, then use 'assert.headerField' instead.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "meaningWhenMissing": "xml",
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ContentType"
                }
              ],
              "strength": "required",
              "description": "The content or mime type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/content-type"
              }
            }
          },
          {
            "id": "TestScript.setup.action.assert.expression",
            "path": "TestScript.setup.action.assert.expression",
            "comment": "If both \"expression\" and a \"fixtureId\" are specified, then the expression will be evaluated against the request or response body mapped to the fixtureId.  If \"expression\" is specified and a \"fixtureId\" is not, then the expression will be evaluated against the response body of the last operation.  Test engines are to store the request and response body and headers of the last operation at all times for subsequent assertions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.headerField",
            "path": "TestScript.setup.action.assert.headerField",
            "comment": "If \"headerField\" is specified then \"value\" must be specified.  If \"sourceId\" is not specified, then \"headerField\" will be evaluated against the last operation's response headers.  Test engines are to keep track of the last operation's response body and response headers.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.minimumId",
            "path": "TestScript.setup.action.assert.minimumId",
            "comment": "Asserts that the response contains all the element/content in another fixture pointed to by minimumId.  This can be a statically defined fixture or one that is dynamically set via responseId.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.navigationLinks",
            "path": "TestScript.setup.action.assert.navigationLinks",
            "comment": "Asserts that the Bundle contains first, last, and next links.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.operator",
            "path": "TestScript.setup.action.assert.operator",
            "comment": "Operators are useful especially for negative testing.  If operator is not specified, then the \"equals\" operator is assumed; e.g. <code>   <assert>  <operator value=\"in\" />  <responseCode value=\"200,201,204\" />    </assert>    <assert>  <operator value=\"notEquals\" />  <response value=\"okay\"/>   </assert>    <assert>  <operator value=\"greaterThan\" />    <responseHeader>     <field value=\"Content-Length\" />     <value value=\"0\" />    <responseHeader/>   </assert> </code>.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AssertionOperatorType"
                }
              ],
              "strength": "required",
              "description": "The type of operator to use for assertion.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/assert-operator-codes"
              }
            }
          },
          {
            "id": "TestScript.setup.action.assert.path",
            "path": "TestScript.setup.action.assert.path",
            "comment": "If both \"path\" and a \"fixtureId\" are specified, then the path will be evaluated against the request or response body mapped to the fixtureId.  If \"path\" is specified and a \"fixtureId\" is not, then the path will be evaluated against the response body of the last operation.  Test engines are to store the request and response body and headers of the last operation at all times for subsequent assertions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.requestMethod",
            "path": "TestScript.setup.action.assert.requestMethod",
            "comment": "If \"requestMethod\" is specified then it will be used in place of \"value\". The \"requestMethod\" will evaluate against the last operation's request HTTP operation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "TestScriptRequestMethodCode"
                }
              ],
              "strength": "required",
              "description": "The allowable request method or HTTP operation codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/http-operations"
              }
            }
          },
          {
            "id": "TestScript.setup.action.assert.requestURL",
            "path": "TestScript.setup.action.assert.requestURL",
            "comment": "If \"requestURL\" is specified then it will be used in place of \"value\". The \"requestURL\" will evaluate against the last operation's full request URL path string.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.resource",
            "path": "TestScript.setup.action.assert.resource",
            "comment": "This will be expected resource type in response body e.g. in read, vread, search, etc.  See http://build.fhir.org/resourcelist.html for complete list of resource types; e.g. <assert > <resourceType value=\"Patient\" </assert>.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FHIRDefinedType"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "Either a resource or a data type.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/defined-types"
              }
            }
          },
          {
            "id": "TestScript.setup.action.assert.response",
            "path": "TestScript.setup.action.assert.response",
            "comment": "This is a shorter way of achieving similar verifications via \"assert.responseCode\".  If you need more control, then use \"assert.responseCode\"  e.g. <assert>  <contentType value=\"json\" />  <response value=\"okay\"/> </assert>.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "AssertionResponseTypes"
                }
              ],
              "strength": "required",
              "description": "The type of response code to use for assertion.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/assert-response-code-types"
              }
            }
          },
          {
            "id": "TestScript.setup.action.assert.responseCode",
            "path": "TestScript.setup.action.assert.responseCode",
            "comment": "To be used with \"operator\" attribute value. Asserts that the response code equals this value if \"operator\" is not specified.   If the operator is \"in\" or \"notIn\" then the responseCode would be a comma-separated list of values e.g. \"200,201\". Otherwise, it's expected to be a numeric value.   If \"fixture\" is not specified, then the \"responseBodyId\" value of the last operation is assumed.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ActionAssertRule"
              }
            ],
            "path": "TestScript.setup.action.assert.rule",
            "comment": "Each rule should get evaluated by test engines as one assertion regardless of how many assertions are contained within the external rule template.  The impact of negative rule evaluation on test script execution is the same as an assertion failure which is descibed elsewhere in the TestScript resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule.ruleId",
            "path": "TestScript.setup.action.assert.rule.ruleId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule.param",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ActionAssertRuleParam"
              }
            ],
            "path": "TestScript.setup.action.assert.rule.param",
            "comment": "The parameter value can be dynamic at runtime.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule.param.name",
            "path": "TestScript.setup.action.assert.rule.param.name",
            "comment": "The external rule template would be looking for the parameter by this name.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.rule.param.value",
            "path": "TestScript.setup.action.assert.rule.param.value",
            "comment": "This value overwrites the value (if any) specified in TestScript.rule.param.value.  The param value can be a string-representation of a number, string, or boolean that is expected.  Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ActionAssertRuleset"
              }
            ],
            "path": "TestScript.setup.action.assert.ruleset",
            "comment": "Each rule within a ruleset should get evaluated by test engines as a separate assertion.  The impact of negative rule evaluation on test script execution is the same as an assertion failure which is descibed elsewhere in the TestScript resource.  If the first rule within the ruleset results in a failed assertion, then test engines do not have to evaluate the rest of the rules within the ruleset.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rulesetId",
            "path": "TestScript.setup.action.assert.ruleset.rulesetId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ActionAssertRulesetRule"
              }
            ],
            "path": "TestScript.setup.action.assert.ruleset.rule",
            "comment": "This qualifies each param name so that  a parameter with the same name can be used differently by the different rules with the ruleset.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.ruleId",
            "path": "TestScript.setup.action.assert.ruleset.rule.ruleId",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.param",
            "path": "TestScript.setup.action.assert.ruleset.rule.param",
            "comment": "The parameter value can be dynamic at runtime.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.param.name",
            "path": "TestScript.setup.action.assert.ruleset.rule.param.name",
            "comment": "The external rule template would be looking for the parameter by this name.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.ruleset.rule.param.value",
            "path": "TestScript.setup.action.assert.ruleset.rule.param.value",
            "comment": "This value overwrites the value (if any) specified in TestScript.ruleset.rule.param.value.  The param value can be a string-representation of a number, string, or boolean that is expected.  Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before supplying this value to the external rule template.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.sourceId",
            "path": "TestScript.setup.action.assert.sourceId",
            "comment": "This can be a statically defined fixture (at the top of the testscript) or a dynamically set fixture created by responseId of the action.operation element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.validateProfileId",
            "path": "TestScript.setup.action.assert.validateProfileId",
            "comment": "The ID of a Profile fixture. Asserts that the response is valid according to the Profile specified by validateProfileId.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "id"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.value",
            "path": "TestScript.setup.action.assert.value",
            "comment": "The string-representation of a number, string, or boolean that is expected.  Test engines do have to look for placeholders (${}) and replace the variable placeholders with the variable values at runtime before comparing this value to the actual value.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.setup.action.assert.warningOnly",
            "path": "TestScript.setup.action.assert.warningOnly",
            "comment": "If this element is specified and it is true, then assertion failures can be logged by test engine but should not stop the test script execution from proceeding.  There are likely cases where the spec is not clear on what should happen. If the spec says something is optional (maybe a response header for example), but a server doesn’t do it, we could choose to issue a warning.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "TestScript.test",
            "path": "TestScript.test",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.test.name",
            "path": "TestScript.test.name",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.test.description",
            "path": "TestScript.test.description",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "TestScript.test.action",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TestAction"
              }
            ],
            "path": "TestScript.test.action",
            "comment": "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "inv-2",
                "severity": "error",
                "human": "Test action SHALL contain either an operation or assert but not both.",
                "expression": "operation.exists() xor assert.exists()",
                "xpath": "(f:operation or f:assert) and not(f:operation and f:assert)"
              }
            ]
          },
          {
            "id": "TestScript.test.action.operation",
            "path": "TestScript.test.action.operation",
            "min": 0,
            "max": "1",
            "contentReference": "#TestScript.setup.action.operation",
            "constraint": [
              {
                "key": "inv-8",
                "severity": "error",
                "human": "Test operation SHALL contain either sourceId or targetId or params or url.",
                "expression": "sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' | 'search' | 'transaction' | 'history'))",
                "xpath": "f:sourceId or (f:targetId or f:url or f:params) and (count(f:targetId) + count(f:url) + count(f:params) =1) or (f:type/f:code/@value='capabilities' or f:type/f:code/@value='search' or f:type/f:code/@value='transaction' or f:type/f:code/@value='history')"
              }
            ]
          },
          {
            "id": "TestScript.test.action.assert",
            "path": "TestScript.test.action.assert",
            "comment": "In order to evaluate an assertion, the request, response, and results of the most recently executed operation must always be maintained by the test engine.",
            "min": 0,
            "max": "1",
            "contentReference": "#TestScript.setup.action.assert",
            "constraint": [
              {
                "key": "inv-6",
                "severity": "error",
                "human": "Only a single assertion SHALL be present within test action assert element.",
                "expression": "contentType.count() + expression.count() + headerField.count() + minimumId.count() + navigationLinks.count() + path.count() + requestMethod.count() + resource.count() + responseCode.count() + response.count() + rule.count() + ruleset.count() + validateProfileId.count() <=1",
                "xpath": "count(f:contentType) + count(f:expression) + count(f:headerField) + count(f:minimumId) + count(f:navigationLinks) + count(f:path) + count(f:requestMethod) + count(f:resource) + count(f:responseCode) + count(f:response) + count(f:rule) + count(f:ruleset) + count(f:validateProfileId)  <=1"
              },
              {
                "key": "inv-11",
                "severity": "error",
                "human": "Test action assert SHALL contain either compareToSourceId and compareToSourceExpression, compareToSourceId and compareToSourcePath or neither.",
                "expression": "compareToSourceId.empty() xor (compareToSourceExpression.exists() or compareToSourcePath.exists())",
                "xpath": "(f:compareToSourceId and f:compareToSourceExpression) or (f:compareToSourceId and f:compareToSourcePath) or not(f:compareToSourceId or f:compareToSourceExpression or f:compareToSourcePath)"
              },
              {
                "key": "inv-13",
                "severity": "error",
                "human": "Test action assert response and response and responseCode SHALL be empty when direction equals request",
                "expression": "(response.empty() and responseCode.empty() and direction = 'request') or direction.empty() or direction = 'response'",
                "xpath": "((count(f:response) + count(f:responseCode)) = 0 and (f:direction/@value='request')) or (count(f:direction) = 0) or (f:direction/@value='response')"
              }
            ]
          },
          {
            "id": "TestScript.teardown",
            "path": "TestScript.teardown",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.teardown.action",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "TeardownAction"
              }
            ],
            "path": "TestScript.teardown.action",
            "comment": "An action should contain either an operation or an assertion but not both.  It can contain any number of variables.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "TestScript.teardown.action.operation",
            "path": "TestScript.teardown.action.operation",
            "min": 1,
            "max": "1",
            "contentReference": "#TestScript.setup.action.operation",
            "constraint": [
              {
                "key": "inv-9",
                "severity": "error",
                "human": "Teardown operation SHALL contain either sourceId or targetId or params or url.",
                "expression": "sourceId.exists() or (targetId.count() + url.count() + params.count() = 1) or (type.code in ('capabilities' | 'search' | 'transaction' | 'history'))",
                "xpath": "f:sourceId or (f:targetId or f:url or (f:params and f:resource)) and (count(f:targetId) + count(f:url) + count(f:params) =1) or (f:type/f:code/@value='capabilities' or f:type/f:code/@value='search' or f:type/f:code/@value='transaction' or f:type/f:code/@value='history')"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/ValueSet",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "ValueSet",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 5
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "vocab"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/ValueSet",
      "name": "ValueSet",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "ValueSet",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "_baseDefinition": {
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super",
            "valueString": "MetadataResource"
          }
        ]
      },
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "ValueSet",
            "path": "ValueSet",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              },
              {
                "key": "vsd-5",
                "severity": "error",
                "human": "Value set SHALL contain at least one of a compose or an expansion element",
                "expression": "compose.exists() or expansion.exists()",
                "xpath": "exists(f:compose) or exists(f:expansion)"
              }
            ]
          },
          {
            "id": "ValueSet.id",
            "path": "ValueSet.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.meta",
            "path": "ValueSet.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.implicitRules",
            "path": "ValueSet.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.language",
            "path": "ValueSet.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ValueSet.text",
            "path": "ValueSet.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "ValueSet.contained",
            "path": "ValueSet.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "ValueSet.extension",
            "path": "ValueSet.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ValueSet.modifierExtension",
            "path": "ValueSet.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "ValueSet.url",
            "path": "ValueSet.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.identifier",
            "path": "ValueSet.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this value set outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.version",
            "path": "ValueSet.version",
            "comment": "There may be different value set instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the value set with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.name",
            "path": "ValueSet.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. A name should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a name.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.title",
            "path": "ValueSet.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.status",
            "path": "ValueSet.status",
            "comment": "Allows filtering of value sets that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired value set without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "ValueSet.experimental",
            "path": "ValueSet.experimental",
            "comment": "Allows filtering of value set that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental value set in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.date",
            "path": "ValueSet.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the value set. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.publisher",
            "path": "ValueSet.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the value set is the organization or individual primarily responsible for the maintenance and upkeep of the value set. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the value set. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.contact",
            "path": "ValueSet.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.description",
            "path": "ValueSet.description",
            "comment": "This description can be used to capture details such as why the value set was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the value set as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). The description is not intended to describe the semantics of the Value Set - there are no intrinsic semantics separate from the codes contained in its expansion. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes. A description should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a description.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ValueSet.useContext",
            "path": "ValueSet.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.jurisdiction",
            "path": "ValueSet.jurisdiction",
            "comment": "It may be possible for the value set to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ValueSet.immutable",
            "path": "ValueSet.immutable",
            "comment": "Normally immutability is set to 'false', which is the default assumption if it is not populated.  Note that the implication is that if this is set to 'true', there may be only one ValueSet version for this definition. Immutability tends to be set to 'true' in one of two cases: - Where the value set, by the nature of its usage, cannot change.  For example \"All specializations of ACT in ActClassCode\" - Where there's no safe way to express the \"Purpose\" such that someone else could safely make changes to the value set definition. Source workflow control must guarantee that the same URI always yields the same definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.purpose",
            "path": "ValueSet.purpose",
            "comment": "This element does not describe the usage of the value set Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this value set.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ValueSet.copyright",
            "path": "ValueSet.copyright",
            "comment": "null Frequently, the copyright differs between the value set and the codes that are included. The copyright statement should clearly differentiate between these when required.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ValueSet.extensible",
            "path": "ValueSet.extensible",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose",
            "path": "ValueSet.compose",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "vsd-5"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ValueSet.compose.id",
            "path": "ValueSet.compose.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.compose.extension",
            "path": "ValueSet.compose.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ValueSet.compose.modifierExtension",
            "path": "ValueSet.compose.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.lockedDate",
            "path": "ValueSet.compose.lockedDate",
            "comment": "With a defined lockedDate the value set is considered \"Locked\". Otherwise, the value set may have different expansions as underlying code systems and/or value sets evolve.  The interpretation of lockedDate is often dependent on the context - e.g. a SNOMED CT derived value set with a lockedDate will have a different expansion in USA than in UK.  If a value set specifies a version for include and exclude statements, and also specifies a locked date, the specified versions need to be available that date, or the value set will not be usable.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.inactive",
            "path": "ValueSet.compose.inactive",
            "comment": "Note that in the FHIR terminology framework, \"deprecated\" does not mean inactive, but in some code systems (e.g. LOINC, deprecated means inactive). Code systems should define what codes are considered to be inactive. If this is not clearly defined (including in the FHIR code system resource), then all codes are assumed to be active.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ConceptSet"
              }
            ],
            "path": "ValueSet.compose.include",
            "comment": "All the conditions in an include must be true. If a system is listed, all the codes from the system are listed. If one or more filters are listed, all of the filters must apply. If one or more value sets are listed, the codes must be in all the value sets. E.g. each include is 'include all the codes that meet all these conditions'.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "vsd-2",
                "severity": "error",
                "human": "A value set with concepts or filters SHALL include a system",
                "expression": "(concept.exists() or filter.exists()) implies system.exists()",
                "xpath": "not(exists(f:concept) or exists(f:filter)) or exists(f:system)"
              },
              {
                "key": "vsd-3",
                "severity": "error",
                "human": "Cannot have both concept and filter",
                "expression": "concept.empty() or filter.empty()",
                "xpath": "not(exists(f:concept)) or not(exists(f:filter))"
              },
              {
                "key": "vsd-1",
                "severity": "error",
                "human": "A value set include/exclude SHALL have a value set or a system",
                "expression": "valueSet.exists() or system.exists()",
                "xpath": "exists(f:valueSet) or exists(f:system)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.id",
            "path": "ValueSet.compose.include.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.extension",
            "path": "ValueSet.compose.include.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.modifierExtension",
            "path": "ValueSet.compose.include.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.system",
            "path": "ValueSet.compose.include.system",
            "comment": "If there are no codes or filters, the entire code system is included. Note that the set of codes that are included may contain abstract codes. See ''Coding.system'' for further documentation about the correct value for the system element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "vsd-1",
              "vsd-2"
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.version",
            "path": "ValueSet.compose.include.version",
            "comment": "This is used when selecting the descendants of a concept - they may change between versions. If no version is specified, then the exact contents of the value set may not be known until a context of use binds it to a particular version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.concept",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ConceptReference"
              }
            ],
            "path": "ValueSet.compose.include.concept",
            "comment": "The list of concepts is considered ordered, though the order may not have any particular significance. Typically, the order of an expansion follows that defined in the compose element.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "vsd-3"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.concept.id",
            "path": "ValueSet.compose.include.concept.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.concept.extension",
            "path": "ValueSet.compose.include.concept.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.concept.modifierExtension",
            "path": "ValueSet.compose.include.concept.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.concept.code",
            "path": "ValueSet.compose.include.concept.code",
            "comment": "Expressions are allowed if defined by the underlying code system.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.concept.display",
            "path": "ValueSet.compose.include.concept.display",
            "comment": "The value set resource allows for an alternative display to be specified for when this concept is used in this particular value set. See notes in the value set narrative about the correct use of this element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.concept.designation",
            "path": "ValueSet.compose.include.concept.designation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.concept.designation.id",
            "path": "ValueSet.compose.include.concept.designation.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.concept.designation.extension",
            "path": "ValueSet.compose.include.concept.designation.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.concept.designation.modifierExtension",
            "path": "ValueSet.compose.include.concept.designation.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.concept.designation.language",
            "path": "ValueSet.compose.include.concept.designation.language",
            "comment": "In the absence of a language, the resource language applies.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ValueSet.compose.include.concept.designation.use",
            "path": "ValueSet.compose.include.concept.designation.use",
            "comment": "If no use is provided, the designation can be assumed to be suitable for general display to a human user.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConceptDesignationUse"
                }
              ],
              "strength": "extensible",
              "description": "Details of how a designation would be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/designation-use"
              }
            }
          },
          {
            "id": "ValueSet.compose.include.concept.designation.value",
            "path": "ValueSet.compose.include.concept.designation.value",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.filter",
            "path": "ValueSet.compose.include.filter",
            "comment": "Selecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "vsd-3"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.filter.id",
            "path": "ValueSet.compose.include.filter.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.filter.extension",
            "path": "ValueSet.compose.include.filter.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.filter.modifierExtension",
            "path": "ValueSet.compose.include.filter.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.filter.property",
            "path": "ValueSet.compose.include.filter.property",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.filter.op",
            "path": "ValueSet.compose.include.filter.op",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FilterOperator"
                }
              ],
              "strength": "required",
              "description": "The kind of operation to perform as a part of a property based filter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/filter-operator"
              }
            }
          },
          {
            "id": "ValueSet.compose.include.filter.value",
            "path": "ValueSet.compose.include.filter.value",
            "comment": "Use regex matching with care - full regex matching on every SNOMED CT term is prohibitive, for example.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.valueSet",
            "path": "ValueSet.compose.include.valueSet",
            "comment": "The value set URI is either a logical reference to a defined value set such as a [SNOMED CT reference set]{snomedct.html#implicit}, or a direct reference to a value set definition using ValueSet.url. The reference may not refer to an actual FHIR ValueSet resource; in this case, whatever is referred to is an implicit definition of a value set that needs to be clear about how versions are resolved.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "vsd-1"
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.exclude",
            "path": "ValueSet.compose.exclude",
            "comment": "Usually this is used to selectively exclude codes that were included by subsumption in the inclusions. Any display names specified for the codes are ignored.",
            "min": 0,
            "max": "*",
            "contentReference": "#ValueSet.compose.include",
            "condition": [
              "vsd-2"
            ]
          },
          {
            "id": "ValueSet.expansion",
            "path": "ValueSet.expansion",
            "comment": "Expansion is performed to produce a collection of codes that are ready to use for data entry or validation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "vsd-5"
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.id",
            "path": "ValueSet.expansion.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.extension",
            "path": "ValueSet.expansion.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.modifierExtension",
            "path": "ValueSet.expansion.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.expansion.identifier",
            "path": "ValueSet.expansion.identifier",
            "comment": "Typically, this uri is a UUID (e.g. urn:uuid:8230ff20-c97a-4167-a59d-dc2cb9df16dd).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.timestamp",
            "path": "ValueSet.expansion.timestamp",
            "comment": "This SHOULD be a fully populated instant, but in some circumstances, value sets are expanded by hand, and the expansion is published without that precision.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.total",
            "path": "ValueSet.expansion.total",
            "comment": "Paging only applies to flat expansions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.offset",
            "path": "ValueSet.expansion.offset",
            "comment": "Paging only applies to flat expansions. If a filter is applied, the count is the number of concepts that matched the filter, not the number of concepts in an unfiltered view of the expansion.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "meaningWhenMissing": "Paging is not being used"
          },
          {
            "id": "ValueSet.expansion.parameter",
            "path": "ValueSet.expansion.parameter",
            "comment": "The server decides which parameters to include here, but at a minimum, the list SHOULD include the date, filter, and profile parameters passed to the $expand operation (if any).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.parameter.id",
            "path": "ValueSet.expansion.parameter.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.parameter.extension",
            "path": "ValueSet.expansion.parameter.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.parameter.modifierExtension",
            "path": "ValueSet.expansion.parameter.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.expansion.parameter.name",
            "path": "ValueSet.expansion.parameter.name",
            "comment": "The names are assigned at the discretion of the server.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.parameter.value[x]",
            "path": "ValueSet.expansion.parameter.value[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              },
              {
                "code": "boolean"
              },
              {
                "code": "integer"
              },
              {
                "code": "decimal"
              },
              {
                "code": "uri"
              },
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.contains",
            "path": "ValueSet.expansion.contains",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              },
              {
                "key": "vsd-6",
                "severity": "error",
                "human": "SHALL have a code or a display",
                "expression": "code.exists() or display.exists()",
                "xpath": "exists(f:code) or exists(f:display)"
              },
              {
                "key": "vsd-9",
                "severity": "error",
                "human": "Must have a code if not abstract",
                "expression": "code.exists() or abstract = true",
                "xpath": "exists(f:code) or (f:abstract/@value = true())"
              },
              {
                "key": "vsd-10",
                "severity": "error",
                "human": "Must have a system if a code is present",
                "expression": "code.empty() or system.exists()",
                "xpath": "exists(f:system) or not(exists(f:code))"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.contains.id",
            "path": "ValueSet.expansion.contains.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.contains.extension",
            "path": "ValueSet.expansion.contains.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.contains.modifierExtension",
            "path": "ValueSet.expansion.contains.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.expansion.contains.system",
            "path": "ValueSet.expansion.contains.system",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.contains.abstract",
            "path": "ValueSet.expansion.contains.abstract",
            "comment": "This should not be understood to exclude its use for searching (e.g. by subsumption testing). The client should know whether it is appropriate for the user to select an abstract code or not.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "ValueSet.expansion.contains.inactive",
            "path": "ValueSet.expansion.contains.inactive",
            "comment": "This should only have a value if the concept is inactive.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "ValueSet.expansion.contains.version",
            "path": "ValueSet.expansion.contains.version",
            "comment": "The exact value of the version string is specified by the system from which the code is derived.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.contains.code",
            "path": "ValueSet.expansion.contains.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "vsd-6"
            ]
          },
          {
            "id": "ValueSet.expansion.contains.display",
            "path": "ValueSet.expansion.contains.display",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "vsd-6"
            ]
          },
          {
            "id": "ValueSet.expansion.contains.designation",
            "path": "ValueSet.expansion.contains.designation",
            "comment": "The designations provided must be based on the value set and code system definitions.",
            "min": 0,
            "max": "*",
            "contentReference": "#ValueSet.compose.include.concept.designation"
          },
          {
            "id": "ValueSet.expansion.contains.contains",
            "path": "ValueSet.expansion.contains.contains",
            "comment": "If the expansion uses this element, there is  no implication about the logical relationship between them, and the  structure cannot be used for logical inferencing. The structure  exists to provide navigational assistance for helping human users to  locate codes in the expansion.",
            "min": 0,
            "max": "*",
            "contentReference": "#ValueSet.expansion.contains"
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "ValueSet",
            "path": "ValueSet",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "vsd-5",
                "severity": "error",
                "human": "Value set SHALL contain at least one of a compose or an expansion element",
                "expression": "compose.exists() or expansion.exists()",
                "xpath": "exists(f:compose) or exists(f:expansion)"
              }
            ]
          },
          {
            "id": "ValueSet.url",
            "path": "ValueSet.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.identifier",
            "path": "ValueSet.identifier",
            "comment": "Typically, this is used for identifiers that can go in an HL7 V3 II (instance identifier) data type, e.g., to identify this value set outside of FHIR, where it is not possible to use the logical URI.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.version",
            "path": "ValueSet.version",
            "comment": "There may be different value set instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the value set with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.name",
            "path": "ValueSet.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly. A name should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a name.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.title",
            "path": "ValueSet.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.status",
            "path": "ValueSet.status",
            "comment": "Allows filtering of value sets that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired value set without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "ValueSet.experimental",
            "path": "ValueSet.experimental",
            "comment": "Allows filtering of value set that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental value set in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.date",
            "path": "ValueSet.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the value set. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.publisher",
            "path": "ValueSet.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the value set is the organization or individual primarily responsible for the maintenance and upkeep of the value set. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the value set. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.contact",
            "path": "ValueSet.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.description",
            "path": "ValueSet.description",
            "comment": "This description can be used to capture details such as why the value set was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the value set as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created). The description is not intended to describe the semantics of the Value Set - there are no intrinsic semantics separate from the codes contained in its expansion. The description should capture its intended use, which is needed for ensuring integrity for its use in models across future changes. A description should be provided unless the value set is a contained resource (e.g. an anonymous value set in a profile). Most registries will require a description.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ValueSet.useContext",
            "path": "ValueSet.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.jurisdiction",
            "path": "ValueSet.jurisdiction",
            "comment": "It may be possible for the value set to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "ValueSet.immutable",
            "path": "ValueSet.immutable",
            "comment": "Normally immutability is set to 'false', which is the default assumption if it is not populated.  Note that the implication is that if this is set to 'true', there may be only one ValueSet version for this definition. Immutability tends to be set to 'true' in one of two cases: - Where the value set, by the nature of its usage, cannot change.  For example \"All specializations of ACT in ActClassCode\" - Where there's no safe way to express the \"Purpose\" such that someone else could safely make changes to the value set definition. Source workflow control must guarantee that the same URI always yields the same definition.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.purpose",
            "path": "ValueSet.purpose",
            "comment": "This element does not describe the usage of the value set Instead  it provides traceability of ''why'' the resource is either needed or ''why'' it is defined as it is.  This may be used to point to source materials or specifications that drove the structure of this value set.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ValueSet.copyright",
            "path": "ValueSet.copyright",
            "comment": "null Frequently, the copyright differs between the value set and the codes that are included. The copyright statement should clearly differentiate between these when required.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          },
          {
            "id": "ValueSet.extensible",
            "path": "ValueSet.extensible",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose",
            "path": "ValueSet.compose",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "vsd-5"
            ]
          },
          {
            "id": "ValueSet.compose.lockedDate",
            "path": "ValueSet.compose.lockedDate",
            "comment": "With a defined lockedDate the value set is considered \"Locked\". Otherwise, the value set may have different expansions as underlying code systems and/or value sets evolve.  The interpretation of lockedDate is often dependent on the context - e.g. a SNOMED CT derived value set with a lockedDate will have a different expansion in USA than in UK.  If a value set specifies a version for include and exclude statements, and also specifies a locked date, the specified versions need to be available that date, or the value set will not be usable.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "date"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.inactive",
            "path": "ValueSet.compose.inactive",
            "comment": "Note that in the FHIR terminology framework, \"deprecated\" does not mean inactive, but in some code systems (e.g. LOINC, deprecated means inactive). Code systems should define what codes are considered to be inactive. If this is not clearly defined (including in the FHIR code system resource), then all codes are assumed to be active.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ConceptSet"
              }
            ],
            "path": "ValueSet.compose.include",
            "comment": "All the conditions in an include must be true. If a system is listed, all the codes from the system are listed. If one or more filters are listed, all of the filters must apply. If one or more value sets are listed, the codes must be in all the value sets. E.g. each include is 'include all the codes that meet all these conditions'.",
            "min": 1,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "vsd-2",
                "severity": "error",
                "human": "A value set with concepts or filters SHALL include a system",
                "expression": "(concept.exists() or filter.exists()) implies system.exists()",
                "xpath": "not(exists(f:concept) or exists(f:filter)) or exists(f:system)"
              },
              {
                "key": "vsd-3",
                "severity": "error",
                "human": "Cannot have both concept and filter",
                "expression": "concept.empty() or filter.empty()",
                "xpath": "not(exists(f:concept)) or not(exists(f:filter))"
              },
              {
                "key": "vsd-1",
                "severity": "error",
                "human": "A value set include/exclude SHALL have a value set or a system",
                "expression": "valueSet.exists() or system.exists()",
                "xpath": "exists(f:valueSet) or exists(f:system)"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.system",
            "path": "ValueSet.compose.include.system",
            "comment": "If there are no codes or filters, the entire code system is included. Note that the set of codes that are included may contain abstract codes. See ''Coding.system'' for further documentation about the correct value for the system element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "vsd-1",
              "vsd-2"
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.version",
            "path": "ValueSet.compose.include.version",
            "comment": "This is used when selecting the descendants of a concept - they may change between versions. If no version is specified, then the exact contents of the value set may not be known until a context of use binds it to a particular version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.concept",
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name",
                "valueString": "ConceptReference"
              }
            ],
            "path": "ValueSet.compose.include.concept",
            "comment": "The list of concepts is considered ordered, though the order may not have any particular significance. Typically, the order of an expansion follows that defined in the compose element.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "vsd-3"
            ]
          },
          {
            "id": "ValueSet.compose.include.concept.code",
            "path": "ValueSet.compose.include.concept.code",
            "comment": "Expressions are allowed if defined by the underlying code system.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.concept.display",
            "path": "ValueSet.compose.include.concept.display",
            "comment": "The value set resource allows for an alternative display to be specified for when this concept is used in this particular value set. See notes in the value set narrative about the correct use of this element.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.concept.designation",
            "path": "ValueSet.compose.include.concept.designation",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.concept.designation.language",
            "path": "ValueSet.compose.include.concept.designation.language",
            "comment": "In the absence of a language, the resource language applies.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "ValueSet.compose.include.concept.designation.use",
            "path": "ValueSet.compose.include.concept.designation.use",
            "comment": "If no use is provided, the designation can be assumed to be suitable for general display to a human user.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Coding"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "ConceptDesignationUse"
                }
              ],
              "strength": "extensible",
              "description": "Details of how a designation would be used.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/designation-use"
              }
            }
          },
          {
            "id": "ValueSet.compose.include.concept.designation.value",
            "path": "ValueSet.compose.include.concept.designation.value",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.compose.include.filter",
            "path": "ValueSet.compose.include.filter",
            "comment": "Selecting codes by specifying filters based on properties is only possible where the underlying code system defines appropriate properties. Note that in some cases, the underlying code system defines the logical concepts but not the literal codes for the concepts. In such cases, the literal definitions may be provided by a third party.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "vsd-3"
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.filter.property",
            "path": "ValueSet.compose.include.filter.property",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.filter.op",
            "path": "ValueSet.compose.include.filter.op",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "FilterOperator"
                }
              ],
              "strength": "required",
              "description": "The kind of operation to perform as a part of a property based filter.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/filter-operator"
              }
            }
          },
          {
            "id": "ValueSet.compose.include.filter.value",
            "path": "ValueSet.compose.include.filter.value",
            "comment": "Use regex matching with care - full regex matching on every SNOMED CT term is prohibitive, for example.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.include.valueSet",
            "path": "ValueSet.compose.include.valueSet",
            "comment": "The value set URI is either a logical reference to a defined value set such as a [SNOMED CT reference set]{snomedct.html#implicit}, or a direct reference to a value set definition using ValueSet.url. The reference may not refer to an actual FHIR ValueSet resource; in this case, whatever is referred to is an implicit definition of a value set that needs to be clear about how versions are resolved.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "uri"
              }
            ],
            "condition": [
              "vsd-1"
            ],
            "isSummary": true
          },
          {
            "id": "ValueSet.compose.exclude",
            "path": "ValueSet.compose.exclude",
            "comment": "Usually this is used to selectively exclude codes that were included by subsumption in the inclusions. Any display names specified for the codes are ignored.",
            "min": 0,
            "max": "*",
            "contentReference": "#ValueSet.compose.include",
            "condition": [
              "vsd-2"
            ]
          },
          {
            "id": "ValueSet.expansion",
            "path": "ValueSet.expansion",
            "comment": "Expansion is performed to produce a collection of codes that are ready to use for data entry or validation.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "condition": [
              "vsd-5"
            ]
          },
          {
            "id": "ValueSet.expansion.identifier",
            "path": "ValueSet.expansion.identifier",
            "comment": "Typically, this uri is a UUID (e.g. urn:uuid:8230ff20-c97a-4167-a59d-dc2cb9df16dd).",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.timestamp",
            "path": "ValueSet.expansion.timestamp",
            "comment": "This SHOULD be a fully populated instant, but in some circumstances, value sets are expanded by hand, and the expansion is published without that precision.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.total",
            "path": "ValueSet.expansion.total",
            "comment": "Paging only applies to flat expansions.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.offset",
            "path": "ValueSet.expansion.offset",
            "comment": "Paging only applies to flat expansions. If a filter is applied, the count is the number of concepts that matched the filter, not the number of concepts in an unfiltered view of the expansion.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ],
            "meaningWhenMissing": "Paging is not being used"
          },
          {
            "id": "ValueSet.expansion.parameter",
            "path": "ValueSet.expansion.parameter",
            "comment": "The server decides which parameters to include here, but at a minimum, the list SHOULD include the date, filter, and profile parameters passed to the $expand operation (if any).",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.parameter.name",
            "path": "ValueSet.expansion.parameter.name",
            "comment": "The names are assigned at the discretion of the server.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.parameter.value[x]",
            "path": "ValueSet.expansion.parameter.value[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              },
              {
                "code": "boolean"
              },
              {
                "code": "integer"
              },
              {
                "code": "decimal"
              },
              {
                "code": "uri"
              },
              {
                "code": "code"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.contains",
            "path": "ValueSet.expansion.contains",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "vsd-6",
                "severity": "error",
                "human": "SHALL have a code or a display",
                "expression": "code.exists() or display.exists()",
                "xpath": "exists(f:code) or exists(f:display)"
              },
              {
                "key": "vsd-9",
                "severity": "error",
                "human": "Must have a code if not abstract",
                "expression": "code.exists() or abstract = true",
                "xpath": "exists(f:code) or (f:abstract/@value = true())"
              },
              {
                "key": "vsd-10",
                "severity": "error",
                "human": "Must have a system if a code is present",
                "expression": "code.empty() or system.exists()",
                "xpath": "exists(f:system) or not(exists(f:code))"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.contains.system",
            "path": "ValueSet.expansion.contains.system",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.contains.abstract",
            "path": "ValueSet.expansion.contains.abstract",
            "comment": "This should not be understood to exclude its use for searching (e.g. by subsumption testing). The client should know whether it is appropriate for the user to select an abstract code or not.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "ValueSet.expansion.contains.inactive",
            "path": "ValueSet.expansion.contains.inactive",
            "comment": "This should only have a value if the concept is inactive.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "defaultValueBoolean": false
          },
          {
            "id": "ValueSet.expansion.contains.version",
            "path": "ValueSet.expansion.contains.version",
            "comment": "The exact value of the version string is specified by the system from which the code is derived.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "ValueSet.expansion.contains.code",
            "path": "ValueSet.expansion.contains.code",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "condition": [
              "vsd-6"
            ]
          },
          {
            "id": "ValueSet.expansion.contains.display",
            "path": "ValueSet.expansion.contains.display",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "condition": [
              "vsd-6"
            ]
          },
          {
            "id": "ValueSet.expansion.contains.designation",
            "path": "ValueSet.expansion.contains.designation",
            "comment": "The designations provided must be based on the value set and code system definitions.",
            "min": 0,
            "max": "*",
            "contentReference": "#ValueSet.compose.include.concept.designation"
          },
          {
            "id": "ValueSet.expansion.contains.contains",
            "path": "ValueSet.expansion.contains.contains",
            "comment": "If the expansion uses this element, there is  no implication about the logical relationship between them, and the  structure cannot be used for logical inferencing. The structure  exists to provide navigational assistance for helping human users to  locate codes in the expansion.",
            "min": 0,
            "max": "*",
            "contentReference": "#ValueSet.expansion.contains"
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/VisionPrescription",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "VisionPrescription",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
          "valueInteger": 1
        },
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fm"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/VisionPrescription",
      "name": "VisionPrescription",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "resource",
      "abstract": false,
      "type": "VisionPrescription",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "VisionPrescription",
            "path": "VisionPrescription",
            "min": 0,
            "max": "*",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "VisionPrescription.id",
            "path": "VisionPrescription.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "VisionPrescription.meta",
            "path": "VisionPrescription.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "VisionPrescription.implicitRules",
            "path": "VisionPrescription.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "VisionPrescription.language",
            "path": "VisionPrescription.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "VisionPrescription.text",
            "path": "VisionPrescription.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "VisionPrescription.contained",
            "path": "VisionPrescription.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "VisionPrescription.extension",
            "path": "VisionPrescription.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "VisionPrescription.modifierExtension",
            "path": "VisionPrescription.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "VisionPrescription.identifier",
            "path": "VisionPrescription.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "VisionPrescription.status",
            "path": "VisionPrescription.status",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VisionStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "VisionPrescription.patient",
            "path": "VisionPrescription.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "VisionPrescription.encounter",
            "path": "VisionPrescription.encounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          },
          {
            "id": "VisionPrescription.dateWritten",
            "path": "VisionPrescription.dateWritten",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "VisionPrescription.prescriber",
            "path": "VisionPrescription.prescriber",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "VisionPrescription.reason[x]",
            "path": "VisionPrescription.reason[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense",
            "path": "VisionPrescription.dispense",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ],
            "constraint": [
              {
                "key": "ele-1",
                "severity": "error",
                "human": "All FHIR elements must have a @value or children",
                "expression": "hasValue() | (children().count() > id.count())",
                "xpath": "@value|f:*|h:div",
                "source": "Element"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.id",
            "path": "VisionPrescription.dispense.id",
            "representation": [
              "xmlAttr"
            ],
            "min": 0,
            "max": "1",
            "base": {
              "path": "Element.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.extension",
            "path": "VisionPrescription.dispense.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "Element.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.modifierExtension",
            "path": "VisionPrescription.dispense.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "BackboneElement.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "VisionPrescription.dispense.product",
            "path": "VisionPrescription.dispense.product",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VisionProduct"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the vision products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vision-product"
              }
            }
          },
          {
            "id": "VisionPrescription.dispense.eye",
            "path": "VisionPrescription.dispense.eye",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VisionEyes"
                }
              ],
              "strength": "required",
              "description": "A coded concept listing the eye codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vision-eye-codes"
              }
            }
          },
          {
            "id": "VisionPrescription.dispense.sphere",
            "path": "VisionPrescription.dispense.sphere",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.cylinder",
            "path": "VisionPrescription.dispense.cylinder",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.axis",
            "path": "VisionPrescription.dispense.axis",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.prism",
            "path": "VisionPrescription.dispense.prism",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.base",
            "path": "VisionPrescription.dispense.base",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VisionBase"
                }
              ],
              "strength": "required",
              "description": "A coded concept listing the base codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vision-base-codes"
              }
            }
          },
          {
            "id": "VisionPrescription.dispense.add",
            "path": "VisionPrescription.dispense.add",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.power",
            "path": "VisionPrescription.dispense.power",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.backCurve",
            "path": "VisionPrescription.dispense.backCurve",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.diameter",
            "path": "VisionPrescription.dispense.diameter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.duration",
            "path": "VisionPrescription.dispense.duration",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.color",
            "path": "VisionPrescription.dispense.color",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.brand",
            "path": "VisionPrescription.dispense.brand",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.note",
            "path": "VisionPrescription.dispense.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "VisionPrescription",
            "path": "VisionPrescription",
            "min": 0,
            "max": "*"
          },
          {
            "id": "VisionPrescription.identifier",
            "path": "VisionPrescription.identifier",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Identifier"
              }
            ]
          },
          {
            "id": "VisionPrescription.status",
            "path": "VisionPrescription.status",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VisionStatus"
                }
              ],
              "strength": "required",
              "description": "A code specifying the state of the resource instance.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/fm-status"
              }
            }
          },
          {
            "id": "VisionPrescription.patient",
            "path": "VisionPrescription.patient",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Patient"
              }
            ]
          },
          {
            "id": "VisionPrescription.encounter",
            "path": "VisionPrescription.encounter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Encounter"
              }
            ]
          },
          {
            "id": "VisionPrescription.dateWritten",
            "path": "VisionPrescription.dateWritten",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ]
          },
          {
            "id": "VisionPrescription.prescriber",
            "path": "VisionPrescription.prescriber",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Practitioner"
              }
            ]
          },
          {
            "id": "VisionPrescription.reason[x]",
            "path": "VisionPrescription.reason[x]",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              },
              {
                "code": "Reference",
                "targetProfile": "http://hl7.org/fhir/StructureDefinition/Condition"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense",
            "path": "VisionPrescription.dispense",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "BackboneElement"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.product",
            "path": "VisionPrescription.dispense.product",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VisionProduct"
                }
              ],
              "strength": "example",
              "description": "A coded concept describing the vision products.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vision-product"
              }
            }
          },
          {
            "id": "VisionPrescription.dispense.eye",
            "path": "VisionPrescription.dispense.eye",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VisionEyes"
                }
              ],
              "strength": "required",
              "description": "A coded concept listing the eye codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vision-eye-codes"
              }
            }
          },
          {
            "id": "VisionPrescription.dispense.sphere",
            "path": "VisionPrescription.dispense.sphere",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.cylinder",
            "path": "VisionPrescription.dispense.cylinder",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.axis",
            "path": "VisionPrescription.dispense.axis",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "integer"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.prism",
            "path": "VisionPrescription.dispense.prism",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.base",
            "path": "VisionPrescription.dispense.base",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "VisionBase"
                }
              ],
              "strength": "required",
              "description": "A coded concept listing the base codes.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/vision-base-codes"
              }
            }
          },
          {
            "id": "VisionPrescription.dispense.add",
            "path": "VisionPrescription.dispense.add",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.power",
            "path": "VisionPrescription.dispense.power",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.backCurve",
            "path": "VisionPrescription.dispense.backCurve",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.diameter",
            "path": "VisionPrescription.dispense.diameter",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "decimal"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.duration",
            "path": "VisionPrescription.dispense.duration",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "Quantity",
                "profile": "http://hl7.org/fhir/StructureDefinition/SimpleQuantity"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.color",
            "path": "VisionPrescription.dispense.color",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.brand",
            "path": "VisionPrescription.dispense.brand",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ]
          },
          {
            "id": "VisionPrescription.dispense.note",
            "path": "VisionPrescription.dispense.note",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "Annotation"
              }
            ]
          }
        ]
      }
    }
  },
  {
    "fullUrl": "http://hl7.org/fhir/StructureDefinition/MetadataResource",
    "resource": {
      "resourceType": "StructureDefinition",
      "id": "MetadataResource",
      "meta": {
        "lastUpdated": "2017-04-26T18:33:43.228-04:00"
      },
      "extension": [
        {
          "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
          "valueCode": "fhir"
        }
      ],
      "url": "http://hl7.org/fhir/StructureDefinition/MetadataResource",
      "name": "MetadataResource",
      "status": "draft",
      "date": "2017-04-26T18:33:43-04:00",
      "fhirVersion": "3.0.0",
      "kind": "logical",
      "abstract": false,
      "type": "MetadataResource",
      "baseDefinition": "http://hl7.org/fhir/StructureDefinition/DomainResource",
      "derivation": "specialization",
      "snapshot": {
        "element": [
          {
            "id": "MetadataResource",
            "path": "MetadataResource",
            "min": 1,
            "max": "1",
            "constraint": [
              {
                "key": "dom-2",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
                "expression": "contained.contained.empty()",
                "xpath": "not(parent::f:contained and f:contained)",
                "source": "DomainResource"
              },
              {
                "key": "dom-1",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL NOT contain any narrative",
                "expression": "contained.text.empty()",
                "xpath": "not(parent::f:contained and f:text)",
                "source": "DomainResource"
              },
              {
                "key": "dom-4",
                "severity": "error",
                "human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
                "expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()",
                "xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
                "source": "DomainResource"
              },
              {
                "key": "dom-3",
                "severity": "error",
                "human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource",
                "expression": "contained.where(('#'+id in %resource.descendants().reference).not()).empty()",
                "xpath": "not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))",
                "source": "DomainResource"
              }
            ]
          },
          {
            "id": "MetadataResource.id",
            "path": "MetadataResource.id",
            "comment": "The only time that a resource does not have an id is when it is being submitted to the server using a create operation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.id",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "id"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.meta",
            "path": "MetadataResource.meta",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.meta",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Meta"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.implicitRules",
            "path": "MetadataResource.implicitRules",
            "comment": "Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. \n\nThis element is labelled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.implicitRules",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "uri"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MetadataResource.language",
            "path": "MetadataResource.language",
            "comment": "Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies  to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource  Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).",
            "min": 0,
            "max": "1",
            "base": {
              "path": "Resource.language",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "code"
              }
            ],
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet",
                  "valueReference": {
                    "reference": "http://hl7.org/fhir/ValueSet/all-languages"
                  }
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Language"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "A human language.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/languages"
              }
            }
          },
          {
            "id": "MetadataResource.text",
            "path": "MetadataResource.text",
            "comment": "Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied).  This may be necessary for data from legacy systems where information is captured as a \"text blob\" or where text is additionally entered raw or narrated and encoded in formation is added later.",
            "min": 0,
            "max": "1",
            "base": {
              "path": "DomainResource.text",
              "min": 0,
              "max": "1"
            },
            "type": [
              {
                "code": "Narrative"
              }
            ],
            "condition": [
              "dom-1"
            ]
          },
          {
            "id": "MetadataResource.contained",
            "path": "MetadataResource.contained",
            "comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.contained",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Resource"
              }
            ]
          },
          {
            "id": "MetadataResource.extension",
            "path": "MetadataResource.extension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.extension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ]
          },
          {
            "id": "MetadataResource.modifierExtension",
            "path": "MetadataResource.modifierExtension",
            "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
            "min": 0,
            "max": "*",
            "base": {
              "path": "DomainResource.modifierExtension",
              "min": 0,
              "max": "*"
            },
            "type": [
              {
                "code": "Extension"
              }
            ],
            "isModifier": true
          },
          {
            "id": "MetadataResource.url",
            "path": "MetadataResource.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.version",
            "path": "MetadataResource.version",
            "comment": "There may be different metadata resource instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the metadata resource with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.name",
            "path": "MetadataResource.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.title",
            "path": "MetadataResource.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.status",
            "path": "MetadataResource.status",
            "comment": "Allows filtering of metadata resources that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired metadata resource without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "MetadataResource.experimental",
            "path": "MetadataResource.experimental",
            "comment": "Allows filtering of metadata resource that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental metadata resource in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MetadataResource.date",
            "path": "MetadataResource.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the metadata resource. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.publisher",
            "path": "MetadataResource.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the metadata resource is the organization or individual primarily responsible for the maintenance and upkeep of the metadata resource. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the metadata resource. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.contact",
            "path": "MetadataResource.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.useContext",
            "path": "MetadataResource.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.jurisdiction",
            "path": "MetadataResource.jurisdiction",
            "comment": "It may be possible for the metadata resource to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "MetadataResource.description",
            "path": "MetadataResource.description",
            "comment": "This description can be used to capture details such as why the metadata resource was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the metadata resource as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          }
        ]
      },
      "differential": {
        "element": [
          {
            "id": "MetadataResource",
            "path": "MetadataResource",
            "min": 1,
            "max": "1"
          },
          {
            "id": "MetadataResource.url",
            "path": "MetadataResource.url",
            "comment": "Can be a urn:uuid: or a urn:oid:, but real http: addresses are preferred.  Multiple instances may share the same url if they have a distinct version.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "uri"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.version",
            "path": "MetadataResource.version",
            "comment": "There may be different metadata resource instances that have the same identifier but different versions.  The version can be appended to the url in a reference to allow a refrence to a particular business version of the metadata resource with the format [url]|[version].",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.name",
            "path": "MetadataResource.name",
            "comment": "The name is not expected to be globally unique. The name should be a simple alpha-numeric type name to ensure that it is computable friendly.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.title",
            "path": "MetadataResource.title",
            "comment": "This name does not need to be machine-processing friendly and may contain punctuation, white-space, etc.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.status",
            "path": "MetadataResource.status",
            "comment": "Allows filtering of metadata resources that are appropriate for use vs. not.  \nThis is labeled as \"Is Modifier\" because applications should not use a retired metadata resource without due consideration.",
            "min": 1,
            "max": "1",
            "type": [
              {
                "code": "code"
              }
            ],
            "isModifier": true,
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "PublicationStatus"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "required",
              "description": "The lifecycle status of a Value Set or Concept Map.",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/publication-status"
              }
            }
          },
          {
            "id": "MetadataResource.experimental",
            "path": "MetadataResource.experimental",
            "comment": "Allows filtering of metadata resource that are appropriate for use vs. not. This is labeled as \"Is Modifier\" because applications should not use an experimental metadata resource in production.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "boolean"
              }
            ],
            "isModifier": true,
            "isSummary": true
          },
          {
            "id": "MetadataResource.date",
            "path": "MetadataResource.date",
            "comment": "Note that this is not the same as the resource last-modified-date, since the resource may be a secondary representation of the metadata resource. Additional specific dates may be added as extensions or be found by consulting Provenances associated with past versions of the resource.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "dateTime"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.publisher",
            "path": "MetadataResource.publisher",
            "comment": "Usually an organization, but may be an individual. The publisher (or steward) of the metadata resource is the organization or individual primarily responsible for the maintenance and upkeep of the metadata resource. This is not necessarily the same individual or organization that developed and initially authored the content. The publisher is the primary point of contact for questions or issues with the metadata resource. This item SHOULD be populated unless the information is available from context.",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "string"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.contact",
            "path": "MetadataResource.contact",
            "comment": "May be a web site, an email address, a telephone number, etc.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "ContactDetail"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.useContext",
            "path": "MetadataResource.useContext",
            "comment": "When multiple useContexts are specified, there is no expectation whether all or any of the contexts apply.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "UsageContext"
              }
            ],
            "isSummary": true
          },
          {
            "id": "MetadataResource.jurisdiction",
            "path": "MetadataResource.jurisdiction",
            "comment": "It may be possible for the metadata resource to be used in jurisdictions other than those for which it was originally designed or intended.",
            "min": 0,
            "max": "*",
            "type": [
              {
                "code": "CodeableConcept"
              }
            ],
            "isSummary": true,
            "binding": {
              "extension": [
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
                  "valueString": "Jurisdiction"
                },
                {
                  "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-isCommonBinding",
                  "valueBoolean": true
                }
              ],
              "strength": "extensible",
              "description": "Countries and regions within which this artifact is targeted for use",
              "valueSetReference": {
                "reference": "http://hl7.org/fhir/ValueSet/jurisdiction"
              }
            }
          },
          {
            "id": "MetadataResource.description",
            "path": "MetadataResource.description",
            "comment": "This description can be used to capture details such as why the metadata resource was built, comments about misuse, instructions for clinical use and interpretation, literature references, examples from the paper world, etc. It is not a rendering of the metadata resource as conveyed in the 'text' field of the resource itself. This item SHOULD be populated unless the information is available from context (e.g. the language of the profile is presumed to be the predominant language in the place the profile was created).",
            "min": 0,
            "max": "1",
            "type": [
              {
                "code": "markdown"
              }
            ]
          }
        ]
      }
    }
  }
]

}