{
  "resourceType": "StructureDefinition",
  "id": "Procedure-uv-ips",
  "url": "http://hl7.org/fhir/uv/ips/StructureDefinition/Procedure-uv-ips",
  "name": "ProcedureUvIps",
  "title": "Procedure (IPS)",
  "status": "active",
  "description": "This profile represents the constraints applied to the Procedure resource by the IPS project, which specifies an entry of the History of Procedure for the international patient summary based on the FHIR standard R4.",
  "kind": "resource",
  "abstract": false,
  "type": "Procedure",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Procedure",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Procedure",
        "path": "Procedure"
      },
      {
        "id": "Procedure.status",
        "path": "Procedure.status"
      },
      {
        "id": "Procedure.code",
        "path": "Procedure.code",
        "definition": "Identification of the procedure or recording of \"absence of relevant procedures\" or of \"procedures unknown\".",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips"
            ]
          }
        ],
        "mustSupport": true,
        "binding": {
          "extension": [
            {
              "extension": [
                {
                  "url": "purpose",
                  "valueCode": "candidate"
                },
                {
                  "url": "valueSet",
                  "valueCanonical": "http://hl7.org/fhir/uv/ips/ValueSet/procedures-snomed-ct-ips-free-set"
                },
                {
                  "url": "documentation",
                  "valueMarkdown": "Codes for procedures in SNOMED IPS Free Set"
                }
              ],
              "url": "http://hl7.org/fhir/tools/StructureDefinition/additional-binding"
            },
            {
              "extension": [
                {
                  "url": "purpose",
                  "valueCode": "candidate"
                },
                {
                  "url": "valueSet",
                  "valueCanonical": "http://hl7.org/fhir/uv/ips/ValueSet/absent-or-unknown-procedures-uv-ips"
                },
                {
                  "url": "documentation",
                  "valueMarkdown": "Codes for absent or unknown procedures"
                }
              ],
              "url": "http://hl7.org/fhir/tools/StructureDefinition/additional-binding"
            }
          ],
          "strength": "preferred",
          "description": "SNOMED CT procedure code set or a code for absent/unknown procedure",
          "valueSet": "http://hl7.org/fhir/uv/ips/ValueSet/procedures-snomed-absent-unknown-uv-ips"
        }
      },
      {
        "id": "Procedure.subject",
        "path": "Procedure.subject",
        "definition": "The person on which the procedure was performed.",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/uv/ips/StructureDefinition/Patient-uv-ips"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Procedure.subject.reference",
        "path": "Procedure.subject.reference",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Procedure.performed[x]",
        "path": "Procedure.performed[x]",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Procedure.performed[x].extension:data-absent-reason",
        "path": "Procedure.performed[x].extension",
        "sliceName": "data-absent-reason",
        "short": "performed[x] absence reason",
        "definition": "Provides a reason why the performed is missing.",
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Procedure.asserter",
        "path": "Procedure.asserter",
        "mustSupport": false
      },
      {
        "id": "Procedure.performer",
        "path": "Procedure.performer",
        "mustSupport": false
      },
      {
        "id": "Procedure.performer.actor",
        "path": "Procedure.performer.actor",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/uv/ips/StructureDefinition/Patient-uv-ips",
              "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
              "http://hl7.org/fhir/uv/ips/StructureDefinition/Device-observer-uv-ips",
              "http://hl7.org/fhir/uv/ips/StructureDefinition/Practitioner-uv-ips",
              "http://hl7.org/fhir/uv/ips/StructureDefinition/PractitionerRole-uv-ips",
              "http://hl7.org/fhir/uv/ips/StructureDefinition/Organization-uv-ips"
            ]
          }
        ],
        "mustSupport": false
      },
      {
        "id": "Procedure.performer.onBehalfOf",
        "path": "Procedure.performer.onBehalfOf",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/uv/ips/StructureDefinition/Organization-uv-ips"
            ]
          }
        ],
        "mustSupport": false
      },
      {
        "id": "Procedure.bodySite",
        "path": "Procedure.bodySite",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://hl7.org/fhir/uv/ips/StructureDefinition/CodeableConcept-uv-ips"
            ]
          }
        ],
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "BodySite"
            }
          ],
          "strength": "example",
          "valueSet": "http://hl7.org/fhir/ValueSet/body-site"
        }
      }
    ]
  }
}