{
  "resourceType": "StructureDefinition",
  "url": "http://oda.fi/fhir/StructureDefinition/stu3/PractitionerRole",
  "name": "ODA PractitionerRole",
  "status": "draft",
  "fhirVersion": "3.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "PractitionerRole",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/PractitionerRole",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "PractitionerRole",
        "path": "PractitionerRole",
        "definition": "A specific set of Roles that a practitioner may perform at an organization."
      },
      {
        "id": "PractitionerRole.identifier",
        "path": "PractitionerRole.identifier",
        "short": "Business Identifiers that are specific to a role/organization",
        "definition": "Business Identifiers that are specific to a role/organization.",
        "min": 1,
        "max": "1"
      },
      {
        "id": "PractitionerRole.identifier.use",
        "path": "PractitionerRole.identifier.use",
        "max": "0"
      },
      {
        "id": "PractitionerRole.identifier.type",
        "path": "PractitionerRole.identifier.type",
        "max": "0"
      },
      {
        "id": "PractitionerRole.identifier.system",
        "path": "PractitionerRole.identifier.system",
        "min": 1,
        "fixedUri": "http://oda.fi/fhir/temp"
      },
      {
        "id": "PractitionerRole.identifier.value",
        "path": "PractitionerRole.identifier.value",
        "min": 1
      },
      {
        "id": "PractitionerRole.identifier.period",
        "path": "PractitionerRole.identifier.period",
        "max": "0"
      },
      {
        "id": "PractitionerRole.identifier.assigner",
        "path": "PractitionerRole.identifier.assigner",
        "max": "0"
      },
      {
        "id": "PractitionerRole.active",
        "path": "PractitionerRole.active",
        "short": "Whether this practitioner's role is in active use",
        "definition": "Whether this practitioner's role is in active use.",
        "requirements": "Need to be able to mark a practitioner record as not to be used because it was created in error or practitioner role at the organization is either temporarily or permanently deactivated.",
        "max": "0",
        "meaningWhenMissing": "Practitioner role is active, if this element is missing."
      },
      {
        "id": "PractitionerRole.period",
        "path": "PractitionerRole.period",
        "meaningWhenMissing": "Practitioner is authorized to perform in these roles."
      },
      {
        "id": "PractitionerRole.practitioner",
        "path": "PractitionerRole.practitioner",
        "short": "Practitioner that is able to provide the defined services for the organization",
        "definition": "Practitioner that is able to provide the defined services for the organization.",
        "min": 1
      },
      {
        "id": "PractitionerRole.practitioner.reference",
        "path": "PractitionerRole.practitioner.reference",
        "min": 1
      },
      {
        "id": "PractitionerRole.practitioner.identifier",
        "path": "PractitionerRole.practitioner.identifier",
        "max": "0"
      },
      {
        "id": "PractitionerRole.organization",
        "path": "PractitionerRole.organization",
        "min": 1
      },
      {
        "id": "PractitionerRole.organization.identifier",
        "path": "PractitionerRole.organization.identifier",
        "max": "0"
      },
      {
        "id": "PractitionerRole.code",
        "path": "PractitionerRole.code",
        "min": 1,
        "max": "1",
        "binding": {
          "strength": "required",
          "valueSetReference": {
            "reference": "http://oda.fi/fhir/ValueSet/practitioner-roles"
          }
        }
      },
      {
        "id": "PractitionerRole.specialty",
        "path": "PractitionerRole.specialty",
        "max": "0"
      },
      {
        "id": "PractitionerRole.location",
        "path": "PractitionerRole.location",
        "max": "0"
      },
      {
        "id": "PractitionerRole.healthcareService",
        "path": "PractitionerRole.healthcareService",
        "max": "0"
      },
      {
        "id": "PractitionerRole.telecom",
        "path": "PractitionerRole.telecom",
        "max": "0"
      },
      {
        "id": "PractitionerRole.availableTime",
        "path": "PractitionerRole.availableTime",
        "max": "0"
      },
      {
        "id": "PractitionerRole.notAvailable",
        "path": "PractitionerRole.notAvailable",
        "max": "0"
      },
      {
        "id": "PractitionerRole.availabilityExceptions",
        "path": "PractitionerRole.availabilityExceptions",
        "max": "0"
      },
      {
        "id": "PractitionerRole.endpoint",
        "path": "PractitionerRole.endpoint",
        "max": "0"
      }
    ]
  }
}