{
  "resourceType": "StructureDefinition",
  "url": "https://karolinskafhirserver.org/fhir/StructureDefinition/KarolinskaLaboratoryProcess",
  "version": "1.0.0-alpha.1",
  "name": "KarolinskaGenomicLaboratoryProcess",
  "title": "Karolinska Genomic Laboratory Process",
  "status": "draft",
  "description": "Used to represent and hold together the laboratory process, including library preperation and the gene sequencing. Each GenomicStudy can include several laboratory processes, one for each sample connected to the genomic study..",
  "purpose": "The purpose of this profile is to be part of the MVP-GDR project with the goal to evaluate FHIR as a standard to meet our needs for genomic data.\r\nIt should therefore be known that the information model itself has been created for the purpose of performing this evaluation. The information model is therefore NOT ready for implementation in a production environment to store resource data.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Procedure",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Procedure",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Procedure.extension",
        "path": "Procedure.extension",
        "min": 3
      },
      {
        "id": "Procedure.extension:genomic-library-preperation",
        "path": "Procedure.extension",
        "sliceName": "genomic-library-preperation",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://karolinskafhirserver.org/fhir/StructureDefinition/KarolinskaGenomicLibraryPreperationExtension"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Procedure.extension:gene-sequencing",
        "path": "Procedure.extension",
        "sliceName": "gene-sequencing",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://karolinskafhirserver.org/fhir/StructureDefinition/KarolinskaGeneSequencingExtension"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Procedure.extension:focus",
        "path": "Procedure.extension",
        "sliceName": "focus",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://karolinskafhirserver/fhir/StructureDefinition/KarolinskaFocusExtension"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Procedure.identifier",
        "path": "Procedure.identifier",
        "max": "0"
      },
      {
        "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",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://karolinskafhirserver.org/fhir/StructureDefinition/KarolinskaGenomicStudy",
              "http://hl7.org/fhir/StructureDefinition/Procedure"
            ]
          }
        ]
      },
      {
        "id": "Procedure.status",
        "path": "Procedure.status",
        "comment": "The following statuses can be used to represent the status of the procedure: \r\npreparation | in-progress | not-done | on-hold | stopped | completed | entered-in-error | unknown",
        "fixedCode": "completed"
      },
      {
        "id": "Procedure.statusReason",
        "path": "Procedure.statusReason",
        "max": "0"
      },
      {
        "id": "Procedure.category.coding.system",
        "path": "Procedure.category.coding.system",
        "min": 1,
        "fixedUri": "http://snomed.info/sct"
      },
      {
        "id": "Procedure.category.coding.code",
        "path": "Procedure.category.coding.code",
        "min": 1,
        "fixedCode": "108252007"
      },
      {
        "id": "Procedure.category.coding.display",
        "path": "Procedure.category.coding.display",
        "min": 1,
        "fixedString": "Laboratory procedure (procedure)"
      },
      {
        "id": "Procedure.code",
        "path": "Procedure.code",
        "max": "0"
      },
      {
        "id": "Procedure.subject",
        "path": "Procedure.subject",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "https://karolinskafhirserver.org/fhir/StructureDefinition/KarolinskaPatientGenomics"
            ]
          }
        ]
      },
      {
        "id": "Procedure.encounter",
        "path": "Procedure.encounter",
        "max": "0"
      },
      {
        "id": "Procedure.recorder",
        "path": "Procedure.recorder",
        "max": "0"
      },
      {
        "id": "Procedure.asserter",
        "path": "Procedure.asserter",
        "max": "0"
      },
      {
        "id": "Procedure.performer.actor",
        "path": "Procedure.performer.actor",
        "definition": "The practitioner who was involved in the procedure. Note that if this element is empty, the perfomer Genomic Study profile is used.",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Organization"
            ]
          }
        ]
      },
      {
        "id": "Procedure.performer.actor.identifier.system",
        "path": "Procedure.performer.actor.identifier.system",
        "min": 1,
        "fixedUri": "http://gmck.se/clarity-lims"
      },
      {
        "id": "Procedure.performer.actor.identifier.value",
        "path": "Procedure.performer.actor.identifier.value",
        "min": 1
      },
      {
        "id": "Procedure.performer.actor.display",
        "path": "Procedure.performer.actor.display",
        "min": 1,
        "fixedString": "GMCK"
      },
      {
        "id": "Procedure.performer.onBehalfOf",
        "path": "Procedure.performer.onBehalfOf",
        "definition": "The organization the device or practitioner was acting on behalf of. Note that if this element is empty, the perfomer Genomic Study profile is used."
      },
      {
        "id": "Procedure.performer.onBehalfOf.identifier.system",
        "path": "Procedure.performer.onBehalfOf.identifier.system",
        "min": 1
      },
      {
        "id": "Procedure.performer.onBehalfOf.identifier.value",
        "path": "Procedure.performer.onBehalfOf.identifier.value",
        "min": 1
      },
      {
        "id": "Procedure.location",
        "path": "Procedure.location",
        "max": "0"
      },
      {
        "id": "Procedure.reasonCode",
        "path": "Procedure.reasonCode",
        "max": "0"
      },
      {
        "id": "Procedure.reasonReference",
        "path": "Procedure.reasonReference",
        "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.complicationDetail",
        "path": "Procedure.complicationDetail",
        "max": "0"
      },
      {
        "id": "Procedure.followUp",
        "path": "Procedure.followUp",
        "max": "0"
      },
      {
        "id": "Procedure.focalDevice",
        "path": "Procedure.focalDevice",
        "max": "0"
      },
      {
        "id": "Procedure.usedReference",
        "path": "Procedure.usedReference",
        "max": "0"
      },
      {
        "id": "Procedure.usedCode",
        "path": "Procedure.usedCode",
        "max": "0"
      }
    ]
  }
}