{
  "resourceType": "StructureDefinition",
  "url": "http://dips.no/fhir/StructureDefinition/R4/DIPSBasisPractitionerR4",
  "name": "DIPSBasisPractitionerR4",
  "status": "draft",
  "fhirVersion": "4.0.0",
  "kind": "resource",
  "abstract": false,
  "type": "Practitioner",
  "baseDefinition": "http://hl7.no/fhir/StructureDefinition/no-basis-Practitioner",
  "derivation": "constraint",
  "snapshot": {},
  "differential": {
    "element": [
      {
        "id": "Practitioner.id",
        "path": "Practitioner.id",
        "definition": "dipscoredb.dwhelsepersonell table personid column",
        "comment": "personid column of dwhelsepersonell table."
      },
      {
        "id": "Practitioner.extension",
        "path": "Practitioner.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Practitioner.extension:specialist",
        "path": "Practitioner.extension",
        "sliceName": "specialist",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://dips.no/fhir/StructureDefinition/R4/DIPSPractitionerSpecialist"
            ]
          }
        ]
      },
      {
        "id": "Practitioner.extension:specialist.value[x]",
        "path": "Practitioner.extension.value[x]",
        "comment": "langtnavn column of dwkodeverkverdier table. \"ja\" as true. \"nei\" as false."
      },
      {
        "id": "Practitioner.extension:isASpecialist",
        "path": "Practitioner.extension",
        "sliceName": "isASpecialist",
        "comment": "erspesialist column of dwhelsepersonell table.",
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://dips.no/fhir/StructureDefinition/R4/IsSpecialistExtension"
            ]
          }
        ]
      },
      {
        "id": "Practitioner.extension:isASpecialist.value[x]",
        "path": "Practitioner.extension.value[x]",
        "comment": "erspesialist column of dwhelsepersonell table."
      },
      {
        "id": "Practitioner.identifier.value",
        "path": "Practitioner.identifier.value",
        "comment": "Value is derived using NationalIdentityType(Foedselsnrtype column of dwperson table) and NationalIdentityNumber(Foedselsnr column of dwperson table)."
      },
      {
        "id": "Practitioner.identifier:HPR.value",
        "path": "Practitioner.identifier.value",
        "definition": "The acttual HPR-number\r\ndipscoredb.dwhelsepersonell table hprnr column"
      },
      {
        "id": "Practitioner.identifier:FNR.value",
        "path": "Practitioner.identifier.value",
        "definition": "According to the validations a substring of the value in Foedselsnr column of dipscoredb.dwperson table will be mapped."
      },
      {
        "id": "Practitioner.identifier:DNR.value",
        "path": "Practitioner.identifier.value",
        "definition": "The actual Norwegian D-nummer\r\nAccording to the validations a substring of the value in Foedselsnr column of dipscoredb.dwperson table will be mapped."
      },
      {
        "id": "Practitioner.identifier:PersonID",
        "path": "Practitioner.identifier",
        "sliceName": "PersonID",
        "short": "An identifier for the person",
        "definition": "An identifier that applies to this person in the database.",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Practitioner.identifier:PersonID.value",
        "path": "Practitioner.identifier.value",
        "definition": "dipscoredb.dwhelsepersonell table personid column",
        "comment": "personid column of dwhelsepersonell table.",
        "min": 1
      },
      {
        "id": "Practitioner.active",
        "path": "Practitioner.active",
        "definition": "Whether this practitioner's record is in active use.\r\nderived using aktuell column of dipscoredb.dwhelsepersonell table",
        "comment": "aktuell column of dwhelsepersonell table."
      },
      {
        "id": "Practitioner.name.id",
        "path": "Practitioner.name.id",
        "max": "0"
      },
      {
        "id": "Practitioner.name.use",
        "path": "Practitioner.name.use",
        "max": "0"
      },
      {
        "id": "Practitioner.name.text",
        "path": "Practitioner.name.text",
        "max": "0"
      },
      {
        "id": "Practitioner.name.family",
        "path": "Practitioner.name.family",
        "comment": "Etternavn column of dwperson table."
      },
      {
        "id": "Practitioner.name.given",
        "path": "Practitioner.name.given",
        "comment": "fornavn column of dwperson table."
      },
      {
        "id": "Practitioner.name.prefix",
        "path": "Practitioner.name.prefix",
        "max": "0"
      },
      {
        "id": "Practitioner.name.suffix",
        "path": "Practitioner.name.suffix",
        "max": "0"
      },
      {
        "id": "Practitioner.name.period",
        "path": "Practitioner.name.period",
        "max": "0"
      },
      {
        "id": "Practitioner.telecom",
        "path": "Practitioner.telecom",
        "comment": "Telecom an Address are not mapped due to inappropriateness of revealing personal details of doctors."
      },
      {
        "id": "Practitioner.gender",
        "path": "Practitioner.gender",
        "comment": "derived using Foedselsnr column of dwperson table."
      },
      {
        "id": "Practitioner.birthDate",
        "path": "Practitioner.birthDate",
        "comment": "Foedselsdato column of dwperson table."
      },
      {
        "id": "Practitioner.photo",
        "path": "Practitioner.photo",
        "max": "0"
      },
      {
        "id": "Practitioner.qualification.code.coding.code",
        "path": "Practitioner.qualification.code.coding.code",
        "comment": "Kode column of dwkodeverkverdier table"
      },
      {
        "id": "Practitioner.qualification.code.coding.display",
        "path": "Practitioner.qualification.code.coding.display",
        "comment": "Langtnavn column of dwkodeverkverdier table."
      },
      {
        "id": "Practitioner.qualification.code:healthPersonnellCategory.coding.code",
        "path": "Practitioner.qualification.code.coding.code",
        "definition": "The actual value according to the CodeSystem Kategori helsepersonell (OID=9060)",
        "comment": "dipscoredb.dwkodeverkverdier table Kode column"
      },
      {
        "id": "Practitioner.qualification.code:dipsHealthPersonnellCategory",
        "path": "Practitioner.qualification.code",
        "sliceName": "dipsHealthPersonnellCategory"
      },
      {
        "id": "Practitioner.qualification.code:dipsHealthPersonnellCategory.coding.system",
        "path": "Practitioner.qualification.code.coding.system",
        "min": 1,
        "fixedUri": "urn:oid:1.3.6.1.4.1.9038.52.4492"
      },
      {
        "id": "Practitioner.qualification.code:dipsHealthPersonnellCategory.coding.code",
        "path": "Practitioner.qualification.code.coding.code",
        "comment": "Kodeid column of dwkodeverkverdier table",
        "min": 1
      },
      {
        "id": "Practitioner.qualification.code:dipsHealthPersonnellCategory.coding.display",
        "path": "Practitioner.qualification.code.coding.display",
        "comment": "Langtnavn column of dwkodeverkverdier table."
      },
      {
        "id": "Practitioner.communication",
        "path": "Practitioner.communication",
        "comment": "Communication is not in Dips yet"
      }
    ]
  }
}