{
  "resourceType": "StructureDefinition",
  "url": "https://fhir.synapxe.sg/StructureDefinition/profile-ds-procedure",
  "name": "Procedure",
  "status": "active",
  "fhirVersion": "5.0.0",
  "kind": "resource",
  "abstract": false,
  "type": "Procedure",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Procedure",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Procedure.identifier",
        "path": "Procedure.identifier",
        "max": "0",
        "type": [
          {
            "code": "Identifier",
            "profile": [
              "https://fhir.synapxe.sg/StructureDefinition/profile-identifier"
            ]
          }
        ]
      },
      {
        "id": "Procedure.identifier.system",
        "path": "Procedure.identifier.system",
        "fixedUri": "https://fhir.synapxe.sg/NamingSystem/sequence-no"
      },
      {
        "id": "Procedure.instantiatesCanonical",
        "path": "Procedure.instantiatesCanonical",
        "max": "0"
      },
      {
        "id": "Procedure.instantiatesUri",
        "path": "Procedure.instantiatesUri",
        "max": "0"
      },
      {
        "id": "Procedure.basedOn",
        "path": "Procedure.basedOn",
        "max": "0"
      },
      {
        "id": "Procedure.partOf",
        "path": "Procedure.partOf",
        "max": "0"
      },
      {
        "id": "Procedure.status",
        "path": "Procedure.status",
        "patternCode": "completed"
      },
      {
        "id": "Procedure.statusReason",
        "path": "Procedure.statusReason",
        "max": "0"
      },
      {
        "id": "Procedure.category",
        "path": "Procedure.category",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept"
            ]
          }
        ]
      },
      {
        "id": "Procedure.code",
        "path": "Procedure.code",
        "min": 1,
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "https://fhir.synapxe.sg/StructureDefinition/profile-codeableconcept"
            ]
          }
        ]
      },
      {
        "id": "Procedure.subject",
        "path": "Procedure.subject",
        "type": [
          {
            "code": "Reference",
            "profile": [
              "https://fhir.synapxe.sg/StructureDefinition/profile-reference-patient"
            ],
            "targetProfile": [
              "https://fhir.synapxe.sg/StructureDefinition/profile-patient"
            ]
          }
        ]
      },
      {
        "id": "Procedure.subject.display",
        "path": "Procedure.subject.display",
        "max": "0"
      },
      {
        "id": "Procedure.focus",
        "path": "Procedure.focus",
        "max": "0"
      },
      {
        "id": "Procedure.encounter",
        "path": "Procedure.encounter",
        "max": "0"
      },
      {
        "id": "Procedure.occurrence[x]",
        "path": "Procedure.occurrence[x]",
        "min": 1
      },
      {
        "id": "Procedure.recorded",
        "path": "Procedure.recorded",
        "max": "0"
      },
      {
        "id": "Procedure.recorder",
        "path": "Procedure.recorder",
        "max": "0"
      },
      {
        "id": "Procedure.reported[x]",
        "path": "Procedure.reported[x]",
        "max": "0"
      },
      {
        "id": "Procedure.performer",
        "path": "Procedure.performer",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Procedure.performer.id",
        "path": "Procedure.performer.id",
        "max": "0"
      },
      {
        "id": "Procedure.performer.extension",
        "path": "Procedure.performer.extension",
        "max": "0"
      },
      {
        "id": "Procedure.performer.modifierExtension",
        "path": "Procedure.performer.modifierExtension",
        "max": "0"
      },
      {
        "id": "Procedure.performer.function",
        "path": "Procedure.performer.function",
        "max": "0"
      },
      {
        "id": "Procedure.performer.actor",
        "path": "Procedure.performer.actor",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://fhir.synapxe.sg/StructureDefinition/profile-practitioner"
            ]
          }
        ]
      },
      {
        "id": "Procedure.performer.actor.id",
        "path": "Procedure.performer.actor.id",
        "max": "0"
      },
      {
        "id": "Procedure.performer.actor.extension",
        "path": "Procedure.performer.actor.extension",
        "max": "0"
      },
      {
        "id": "Procedure.performer.actor.reference",
        "path": "Procedure.performer.actor.reference",
        "max": "0"
      },
      {
        "id": "Procedure.performer.actor.type",
        "path": "Procedure.performer.actor.type",
        "min": 1,
        "fixedUri": "Practitioner"
      },
      {
        "id": "Procedure.performer.actor.identifier",
        "path": "Procedure.performer.actor.identifier",
        "min": 1,
        "type": [
          {
            "code": "Identifier",
            "profile": [
              "https://fhir.synapxe.sg/StructureDefinition/profile-identifier"
            ]
          }
        ]
      },
      {
        "id": "Procedure.performer.actor.identifier.system",
        "path": "Procedure.performer.actor.identifier.system",
        "fixedUri": "https://fhir.synapxe.sg/NamingSystem/mcr"
      },
      {
        "id": "Procedure.performer.actor.display",
        "path": "Procedure.performer.actor.display",
        "max": "0"
      },
      {
        "id": "Procedure.performer.onBehalfOf",
        "path": "Procedure.performer.onBehalfOf",
        "max": "0"
      },
      {
        "id": "Procedure.performer.period",
        "path": "Procedure.performer.period",
        "max": "0"
      },
      {
        "id": "Procedure.location",
        "path": "Procedure.location",
        "max": "0"
      },
      {
        "id": "Procedure.reason",
        "path": "Procedure.reason",
        "max": "0"
      },
      {
        "id": "Procedure.bodySite",
        "path": "Procedure.bodySite",
        "max": "0"
      },
      {
        "id": "Procedure.outcome",
        "path": "Procedure.outcome",
        "max": "0"
      },
      {
        "id": "Procedure.report",
        "path": "Procedure.report",
        "max": "0"
      },
      {
        "id": "Procedure.complication",
        "path": "Procedure.complication",
        "max": "0"
      },
      {
        "id": "Procedure.followUp",
        "path": "Procedure.followUp",
        "max": "0"
      },
      {
        "id": "Procedure.note",
        "path": "Procedure.note",
        "max": "1",
        "type": [
          {
            "code": "Annotation",
            "profile": [
              "https://fhir.synapxe.sg/StructureDefinition/profile-annotation"
            ]
          }
        ]
      },
      {
        "id": "Procedure.focalDevice",
        "path": "Procedure.focalDevice",
        "max": "0"
      },
      {
        "id": "Procedure.used",
        "path": "Procedure.used",
        "max": "0"
      },
      {
        "id": "Procedure.supportingInfo",
        "path": "Procedure.supportingInfo",
        "max": "0"
      }
    ]
  }
}