{
  "resourceType": "StructureDefinition",
  "url": "http://sescam.info/fhir/StructureDefinition/Patient",
  "name": "Patient",
  "status": "draft",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Patient",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Patient",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Patient.extension:zonaPertenenciaPaciente",
        "path": "Patient.extension",
        "sliceName": "zonaPertenenciaPaciente",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://sescam.info/fhir/StructureDefinition/Zona_Pertenencia-Paciente"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Patient.extension:pacienteDesplazado",
        "path": "Patient.extension",
        "sliceName": "pacienteDesplazado",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://sescam.info/fhir/StructureDefinition/paciente_desplazado"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Patient.extension:bajaAdministrativa",
        "path": "Patient.extension",
        "sliceName": "bajaAdministrativa",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://sescam.info/fhir/StructureDefinition/baja_administrativa"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Patient.extension:bajaAdministrativa.value[x]",
        "path": "Patient.extension.value[x]",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "Patient.extension:bajaAdministrativa.value[x].coding.system",
        "path": "Patient.extension.value[x].coding.system",
        "binding": {
          "strength": "required",
          "valueSet": "https://sescam.info/fhir/CodeSystem/baja_administrativa"
        }
      },
      {
        "id": "Patient.extension:pacienteProvisional",
        "path": "Patient.extension",
        "sliceName": "pacienteProvisional",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "https://sescam.info/fhir/StructureDefinition/paciente_provisional"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Patient.identifier.extension:cAAsociadaCIP",
        "path": "Patient.identifier.extension",
        "sliceName": "cAAsociadaCIP",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://sescam.info/Comunidad_CIP"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Patient.identifier.use",
        "path": "Patient.identifier.use",
        "short": "official | temp | secondary"
      },
      {
        "id": "Patient.identifier.type.coding.system",
        "path": "Patient.identifier.type.coding.system",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/CodeSystem/v2-0203"
        }
      },
      {
        "id": "Patient.identifier.type.coding.code",
        "path": "Patient.identifier.type.coding.code",
        "binding": {
          "strength": "extensible",
          "valueSet": "http://terminology.hl7.org/CodeSystem/v2-0203"
        }
      },
      {
        "id": "Patient.identifier.system",
        "path": "Patient.identifier.system",
        "binding": {
          "strength": "required",
          "valueSet": "http://terminology.hl7.org/CodeSystem/v2-0203"
        }
      },
      {
        "id": "Patient.identifier.period",
        "path": "Patient.identifier.period",
        "short": "El período de tiempo durante el cual la identificación es/fue válida para su uso.",
        "definition": "El período de tiempo durante el cual la identificación es/fue válida para su uso.",
        "comment": "Un Período especifica un rango de tiempo; el contexto de uso determinará si se aplica todo el rango (por ejemplo, \"el paciente estuvo hospitalizado durante este período\") o si se aplica un solo valor dentro del rango (por ejemplo, \"administrar al paciente entre estos dos momentos\").\r\nPeriod is not used for a duration (a measure of elapsed time). See [Duration](datatypes.html#Duration)."
      },
      {
        "id": "Patient.identifier.period.start",
        "path": "Patient.identifier.period.start",
        "short": "Cuando se creó el identificador. Si no se proporciona, se utilizará la fecha y hora de creación.",
        "definition": "Cuando se creó el identificador. Si no se proporciona, se utilizará la fecha y hora de creación."
      },
      {
        "id": "Patient.active",
        "path": "Patient.active",
        "comment": "Si no está informado, por defecto vale true"
      },
      {
        "id": "Patient.name.family.extension:primerApellido",
        "path": "Patient.name.family.extension",
        "sliceName": "primerApellido",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/humanname-fathers-family"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Patient.name.family.extension:segundoApellido",
        "path": "Patient.name.family.extension",
        "sliceName": "segundoApellido",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/humanname-mothers-family"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Patient.deceased[x]",
        "path": "Patient.deceased[x]",
        "short": "Booleano que indica si el paciente ha fallecido o no.",
        "definition": "Booleano que indica si el paciente ha fallecido o no.",
        "type": [
          {
            "code": "boolean"
          }
        ]
      },
      {
        "id": "Patient.generalPractitioner",
        "path": "Patient.generalPractitioner",
        "comment": "Profesional asociado al paciente. En funcion de la información que se reciba se podrá modelar de\r\n\r\ndiferentes formas. \r\n\r\nSi el profesional está registrado en FHIR y se puede obtener, se utilizará la referencia.\r\n\r\nSi no existe, se utilizará el identifier si viene  un identificador desde Turriano o el display.\r\n\r\n \"generalPractitioner\": [{\r\n        \"type\": \"Practitioner\",\r\n        \"reference\": \"Practitioner/<<id>>\",\r\n        \"display\": \"<<nombre del profesional>>\",\r\n        \"identifier\": {\r\n            \"use\": \"official\",\r\n            \"system\": \"https://sescam.info/ProfesionalTurriano\",\r\n            \"value\": \"<<identificador del profesional>>\"\r\n        }\r\n\r\n    }],",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Practitioner"
            ]
          }
        ]
      },
      {
        "id": "Patient.link.other",
        "path": "Patient.link.other",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient"
            ]
          }
        ]
      },
      {
        "id": "Patient.link.type",
        "path": "Patient.link.type",
        "comment": "replaced-by → referencia al paciente que lo reemplaza (hay que marcarlo como active=false)\r\nreplaces → referencia al paciente reemplazado"
      }
    ]
  }
}