{
  "resourceType": "StructureDefinition",
  "id": "SenaiteEncounter",
  "url": "https://senaite.com/modeling/fhir/StructureDefinition/SenaiteEncounter",
  "name": "SenaiteEncounter",
  "status": "draft",
  "fhirVersion": "4.3.0",
  "kind": "resource",
  "abstract": false,
  "type": "Encounter",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Encounter",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Encounter.extension",
        "path": "Encounter.extension",
        "max": "0"
      },
      {
        "id": "Encounter.modifierExtension",
        "path": "Encounter.modifierExtension",
        "max": "0"
      },
      {
        "id": "Encounter.identifier",
        "path": "Encounter.identifier",
        "max": "0"
      },
      {
        "id": "Encounter.status",
        "path": "Encounter.status",
        "short": "finished ",
        "definition": "We only want to be informed about finished encounters",
        "fixedCode": "finished"
      },
      {
        "id": "Encounter.statusHistory",
        "path": "Encounter.statusHistory",
        "max": "0"
      },
      {
        "id": "Encounter.class.extension",
        "path": "Encounter.class.extension",
        "max": "0"
      },
      {
        "id": "Encounter.class.system",
        "path": "Encounter.class.system",
        "binding": {
          "strength": "preferred",
          "valueSet": "http://terminology.hl7.org/CodeSystem/v3-ActCode"
        }
      },
      {
        "id": "Encounter.class.version",
        "path": "Encounter.class.version",
        "max": "0"
      },
      {
        "id": "Encounter.class.userSelected",
        "path": "Encounter.class.userSelected",
        "max": "0"
      },
      {
        "id": "Encounter.classHistory",
        "path": "Encounter.classHistory",
        "max": "0"
      },
      {
        "id": "Encounter.type",
        "path": "Encounter.type",
        "max": "0"
      },
      {
        "id": "Encounter.serviceType",
        "path": "Encounter.serviceType",
        "max": "0"
      },
      {
        "id": "Encounter.priority",
        "path": "Encounter.priority",
        "max": "0"
      },
      {
        "id": "Encounter.subject",
        "path": "Encounter.subject",
        "max": "0"
      },
      {
        "id": "Encounter.episodeOfCare",
        "path": "Encounter.episodeOfCare",
        "max": "0"
      },
      {
        "id": "Encounter.basedOn",
        "path": "Encounter.basedOn",
        "max": "0"
      },
      {
        "id": "Encounter.participant",
        "path": "Encounter.participant",
        "max": "0"
      },
      {
        "id": "Encounter.appointment",
        "path": "Encounter.appointment",
        "max": "0"
      },
      {
        "id": "Encounter.period",
        "path": "Encounter.period",
        "max": "0"
      },
      {
        "id": "Encounter.length",
        "path": "Encounter.length",
        "max": "0"
      },
      {
        "id": "Encounter.reasonCode",
        "path": "Encounter.reasonCode",
        "max": "0"
      },
      {
        "id": "Encounter.reasonReference",
        "path": "Encounter.reasonReference",
        "max": "0"
      },
      {
        "id": "Encounter.diagnosis",
        "path": "Encounter.diagnosis",
        "max": "0"
      },
      {
        "id": "Encounter.account",
        "path": "Encounter.account",
        "max": "0"
      },
      {
        "id": "Encounter.hospitalization",
        "path": "Encounter.hospitalization",
        "max": "0"
      },
      {
        "id": "Encounter.location.extension",
        "path": "Encounter.location.extension",
        "max": "0"
      },
      {
        "id": "Encounter.location.modifierExtension",
        "path": "Encounter.location.modifierExtension",
        "max": "0"
      },
      {
        "id": "Encounter.location.location",
        "path": "Encounter.location.location",
        "definition": "The location where the encounter takes place. This will be used to determine where to send the results back to. If SENAITE does not recognise the location it will be created."
      },
      {
        "id": "Encounter.location.location.extension",
        "path": "Encounter.location.location.extension",
        "max": "0"
      },
      {
        "id": "Encounter.location.physicalType.coding",
        "path": "Encounter.location.physicalType.coding",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/CodeSystem/location-physical-type"
        }
      },
      {
        "id": "Encounter.location.physicalType.coding.system",
        "path": "Encounter.location.physicalType.coding.system",
        "fixedUri": "http://terminology.hl7.org/CodeSystem/location-physical-type"
      },
      {
        "id": "Encounter.location.physicalType.coding.version",
        "path": "Encounter.location.physicalType.coding.version",
        "max": "0"
      },
      {
        "id": "Encounter.serviceProvider.extension",
        "path": "Encounter.serviceProvider.extension",
        "max": "0"
      },
      {
        "id": "Encounter.serviceProvider.type",
        "path": "Encounter.serviceProvider.type",
        "fixedUri": "Organization"
      },
      {
        "id": "Encounter.serviceProvider.identifier",
        "path": "Encounter.serviceProvider.identifier",
        "max": "0"
      },
      {
        "id": "Encounter.partOf",
        "path": "Encounter.partOf",
        "max": "0"
      }
    ]
  }
}