<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://unicas-fhir.sanidad.gob.es/StructureDefinition/UNICASProcedure" />
  <name value="UNICASProcedure" />
  <title value="Procedure Procedimiento Quirúrgico ÚNICAS" />
  <status value="draft" />
  <description value="Este profile define las restricciones del recurso Procedure para representar el registro de un procedimiento quirúrgico en el contexto del caso de uso de ÚNICAS." />
  <fhirVersion value="5.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Procedure" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Procedure" />
  <derivation value="constraint" />
  <differential>
    <element id="Procedure.identifier">
      <path value="Procedure.identifier" />
      <short value="Identificador único" />
      <definition value="External Identifiers for this procedure. Business identifiers assigned to this procedure by the performer or other systems which remain constant as the resource is updated and is propagated from server to server." />
      <min value="1" />
    </element>
    <element id="Procedure.identifier.system">
      <path value="Procedure.identifier.system" />
      <short value="Sistema para identificar el origen" />
      <definition value="Formato: urn:regcess:[CódigoREGCESS]&#xD;&#xA;Debe incluir el código REGCESS después de urn:regcess:" />
      <min value="1" />
      <constraint>
        <key value="regcess-system" />
        <severity value="warning" />
        <human value="system debe comenzar por urn:regcess: seguido del identificador del sistema." />
        <expression value="matches('^urn:regcess:[A-Za-z0-9]+$')" />
      </constraint>
    </element>
    <element id="Procedure.identifier.value">
      <path value="Procedure.identifier.value" />
      <short value="Identificador interno del sistema para el procedimiento quirúrgico" />
      <definition value="Debe indicar el ID interno del sistema de origen utilizado para el procedimiento quirúrgico." />
      <min value="1" />
    </element>
    <element id="Procedure.category">
      <path value="Procedure.category" />
      <short value="Clasificación de procedimiento: antecedentes quirúrgicos" />
      <definition value="Classification of the procedure. A code that classifies the procedure for searching, sorting and display purposes (e.g. &quot;Surgical Procedure&quot;)." />
      <binding>
        <strength value="extensible" />
        <description value="Value set de Tipos de informaciones para ÚNICAS" />
        <valueSet value="https://unicas-fhir.sanidad.gob.es/ValueSet/TiposInformacionesUNICAS" />
      </binding>
    </element>
    <element id="Procedure.category.coding.system">
      <path value="Procedure.category.coding.system" />
      <short value="URL del SNOMED CT. Extensión para España del SNS" />
      <definition value="Posible URL de terminología utilizada para indicar la clasificación de procedimiento y su descripción correspondiente:&#xD;&#xA;&#xD;&#xA;- SNOMED CT. Extensión para España del SNS: http://snomed.info/sct/900000001000122104" />
    </element>
    <element id="Procedure.category.coding.code">
      <path value="Procedure.category.coding.code" />
      <short value="Código de la clasificación de procedimiento" />
    </element>
    <element id="Procedure.category.coding.display">
      <path value="Procedure.category.coding.display" />
      <short value="Descripción de la clasificación de procedimiento" />
      <definition value="Representation defined by the system. A representation of the meaning of the code in the system, following the rules of the system." />
    </element>
    <element id="Procedure.code">
      <path value="Procedure.code" />
      <short value="Procedimiento quirúrgico" />
      <definition value="Identification of the procedure. The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. &quot;Laparoscopic Appendectomy&quot;)." />
      <min value="1" />
      <binding>
        <strength value="extensible" />
        <description value="Value set de Procedimiento quirúrgico" />
        <valueSet value="https://unicas-fhir.sanidad.gob.es/ValueSet/ProcedimientoQuirurgico" />
      </binding>
    </element>
    <element id="Procedure.code.coding.system">
      <path value="Procedure.code.coding.system" />
      <short value="URL del SNOMED CT. Extensión para España del SNS | OID del CIE-10-ES. Procedimientos" />
      <definition value="Posibles URLs y/o OIDs de terminologías utilizadas para indicar el procedimiento quirúrgico y su descripción correspondiente:&#xD;&#xA;&#xA;- SNOMED CT. Extensión para España del SNS con filtro aplicado al eje procedimiento: http://snomed.info/sct/900000001000122104&#xA;- CIE-10-ES. Procedimientos: urn:oid:2.16.724.4.21.5.30" />
      <min value="1" />
    </element>
    <element id="Procedure.code.coding.code">
      <path value="Procedure.code.coding.code" />
      <short value="Código del procedimento" />
      <min value="1" />
    </element>
    <element id="Procedure.code.coding.display">
      <path value="Procedure.code.coding.display" />
      <short value="Descripción del procedimiento" />
      <definition value="Representation defined by the system. A representation of the meaning of the code in the system, following the rules of the system." />
      <min value="1" />
    </element>
    <element id="Procedure.code.text">
      <path value="Procedure.code.text" />
      <short value="Descripción narrativa, registrada por el professional" />
    </element>
    <element id="Procedure.subject">
      <path value="Procedure.subject" />
      <short value="Referencia al paciente" />
      <definition value="Individual or entity the procedure was performed on. On whom or on what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations).  If the actual focus of the procedure is different from the subject, the focus element specifies the actual focus of the procedure." />
      <type>
        <code value="Reference" />
        <targetProfile value="https://unicas-fhir.sanidad.gob.es/StructureDefinition/UNICASPatient" />
      </type>
    </element>
    <element id="Procedure.subject.reference">
      <path value="Procedure.subject.reference" />
      <short value="Referencia recurso FHIR. Identificador de la referencia del recurso FHIR asociado cuando exista/creamos un recurso en el mismo servidor FHIR" />
      <definition value="Formato: [base]/Patient?identifier=[OID registro de número de CIP-SNS]|[Número CIP-SNS]" />
    </element>
    <element id="Procedure.subject.type">
      <path value="Procedure.subject.type" />
      <short value="Tipo de recurso FHIR" />
      <definition value="Type the reference refers to (e.g. &quot;Patient&quot;) - must be a resource in resources. The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.&#xD;&#xA;&#xD;&#xA;The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. &quot;Patient&quot; is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources)." />
      <min value="1" />
    </element>
    <element id="Procedure.subject.identifier">
      <path value="Procedure.subject.identifier" />
      <short value="Identificador de paciente CIP-SNS. Cuando no tengamos recurso Patient, se debera informar el identificador de paciente mediante CIP-SNS" />
      <definition value="Logical reference, when literal reference is not known. An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
      <min value="1" />
    </element>
    <element id="Procedure.subject.identifier.type">
      <path value="Procedure.subject.identifier.type" />
      <short value="Tipos de documentos de identificación para persona ÚNICAS" />
      <definition value="Description of identifier. A coded type for the identifier that can be used to determine which identifier to use for a specific purpose." />
      <binding>
        <strength value="extensible" />
        <description value="Value set de Tipos de documentos de identificación para persona ÚNICAS" />
        <valueSet value="https://unicas-fhir.sanidad.gob.es/ValueSet/TiposDocumentosIdentificacionPersona" />
      </binding>
    </element>
    <element id="Procedure.subject.identifier.type.coding.system">
      <path value="Procedure.subject.identifier.type.coding.system" />
      <short value="URL del SNOMED CT. Extensión para España del SNS" />
      <definition value="Posible URL de terminología utilizada para indicar el tipo de documentos de identificación y su descripción correspondiente:&#xD;&#xA;&#xD;&#xA;- SNOMED CT. Extensión para España del SNS: http://snomed.info/sct/900000001000122104" />
    </element>
    <element id="Procedure.subject.identifier.type.coding.code">
      <path value="Procedure.subject.identifier.type.coding.code" />
      <short value="Código del identificador" />
    </element>
    <element id="Procedure.subject.identifier.type.coding.display">
      <path value="Procedure.subject.identifier.type.coding.display" />
      <short value="Decripción del identificador" />
      <definition value="Representation defined by the system. A representation of the meaning of the code in the system, following the rules of the system." />
    </element>
    <element id="Procedure.subject.identifier.system">
      <path value="Procedure.subject.identifier.system" />
      <short value="OID registro de número de CIP-SNS" />
      <definition value="The namespace for the identifier value. Establishes the namespace for the value - that is, an absolute URL that describes a set values that are unique." />
    </element>
    <element id="Procedure.subject.identifier.value">
      <path value="Procedure.subject.identifier.value" />
      <short value="Número CIP-SNS" />
      <definition value="The namespace for the identifier value. Establishes the namespace for the value - that is, an absolute URL that describes a set values that are unique." />
    </element>
    <element id="Procedure.subject.display">
      <path value="Procedure.subject.display" />
      <short value="Nombre completo del paciente" />
      <definition value="Text alternative for the resource. Plain text narrative that identifies the resource in addition to the resource reference." />
    </element>
    <element id="Procedure.occurrence[x]">
      <path value="Procedure.occurrence[x]" />
      <short value="Fecha de la intervención" />
      <definition value="When the procedure occurred or is occurring. Estimated or actual date, date-time, period, or age when the procedure did occur or is occurring.  Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured." />
      <min value="1" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="Procedure.performer">
      <path value="Procedure.performer" />
      <short value="Profesional sanitario" />
      <definition value="Who performed the procedure and what they did. Indicates who or what performed the procedure and how they were involved." />
    </element>
    <element id="Procedure.performer.actor">
      <path value="Procedure.performer.actor" />
      <short value="Referencia al profesional sanitario" />
      <definition value="Who performed the procedure. Indicates who or what performed the procedure." />
      <type>
        <code value="Reference" />
        <targetProfile value="https://unicas-fhir.sanidad.gob.es/StructureDefinition/UNICASPractitionerRole" />
        <targetProfile value="https://unicas-fhir.sanidad.gob.es/StructureDefinition/UNICASPractitioner" />
        <targetProfile value="https://unicas-fhir.sanidad.gob.es/StructureDefinition/UNICASOrganization" />
      </type>
    </element>
    <element id="Procedure.performer.actor.reference">
      <path value="Procedure.performer.actor.reference" />
      <short value="Referencia recurso FHIR. Identificador de la referencia del recurso FHIR asociado cuando exista/creamos un recurso en el mismo servidor FHIR" />
      <definition value="Formato: [base]/Practitioner?identifier=[OID registro de DNI]|[Número DNI]" />
    </element>
    <element id="Procedure.performer.actor.type">
      <path value="Procedure.performer.actor.type" />
      <short value="Tipo de recurso FHIR" />
      <definition value="Type the reference refers to (e.g. &quot;Patient&quot;) - must be a resource in resources. The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.&#xA;&#xA;The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. &quot;Patient&quot; is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources)." />
      <min value="1" />
    </element>
    <element id="Procedure.performer.actor.identifier">
      <path value="Procedure.performer.actor.identifier" />
      <short value="Identificadores del profesional sanitario. Cuando no tengamos recurso Practitioner, se debera informar el identificador del profesional sanitario mediante DNI como dato mínimo. Adicionalmente, se puede informar el número colegiado del profesional sanitario como dato recomendado" />
      <definition value="Logical reference, when literal reference is not known. An identifier for the target resource. This is used when there is no way to reference the other resource directly, either because the entity it represents is not available through a FHIR server, or because there is no way for the author of the resource to convert a known identifier to an actual location. There is no requirement that a Reference.identifier point to something that is actually exposed as a FHIR instance, but it SHALL point to a business concept that would be expected to be exposed as a FHIR instance, and that instance would need to be of a FHIR resource type allowed by the reference." />
      <min value="1" />
    </element>
    <element id="Procedure.performer.actor.identifier.extension:numeroColegiadoProfesionalSanitario">
      <path value="Procedure.performer.actor.identifier.extension" />
      <sliceName value="numeroColegiadoProfesionalSanitario" />
      <type>
        <code value="Extension" />
        <profile value="https://unicas-fhir.sanidad.gob.es/StructureDefinition/NumeroColegiadoProfesionalSanitario" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Procedure.performer.actor.identifier.type">
      <path value="Procedure.performer.actor.identifier.type" />
      <short value="Tipos de documentos de identificación para persona ÚNICAS" />
      <definition value="Description of identifier. A coded type for the identifier that can be used to determine which identifier to use for a specific purpose." />
      <binding>
        <strength value="extensible" />
        <description value="Value set de Tipos de documentos de identificación para persona ÚNICAS" />
        <valueSet value="https://unicas-fhir.sanidad.gob.es/ValueSet/TiposDocumentosIdentificacionPersona" />
      </binding>
    </element>
    <element id="Procedure.performer.actor.identifier.type.coding.system">
      <path value="Procedure.performer.actor.identifier.type.coding.system" />
      <short value="URL del refset Tipos de documento para identificación personal de SNOMED CT. Extensión para España del SNS" />
      <definition value="Posible URL de terminología utilizada para indicar el tipo de documentos de identificación y su descripción correspondiente:&#xD;&#xA;&#xD;&#xA;- Refset Tipos de documento para identificación personal del SNOMED CT. Extensión para España del SNS: http://snomed.info/sct/900000001000122104?fhir_vs-refset/900000251000122107" />
    </element>
    <element id="Procedure.performer.actor.identifier.type.coding.code">
      <path value="Procedure.performer.actor.identifier.type.coding.code" />
      <short value="Código del identificador" />
    </element>
    <element id="Procedure.performer.actor.identifier.type.coding.display">
      <path value="Procedure.performer.actor.identifier.type.coding.display" />
      <short value="Decripción del identificador" />
      <definition value="Representation defined by the system. A representation of the meaning of the code in the system, following the rules of the system." />
    </element>
    <element id="Procedure.performer.actor.identifier.system">
      <path value="Procedure.performer.actor.identifier.system" />
      <short value="OID registro de DNI" />
      <definition value="The namespace for the identifier value. Establishes the namespace for the value - that is, an absolute URL that describes a set values that are unique." />
    </element>
    <element id="Procedure.performer.actor.identifier.value">
      <path value="Procedure.performer.actor.identifier.value" />
      <short value="Número del DNI" />
      <definition value="The value that is unique. The portion of the identifier typically relevant to the user and which is unique within the context of the system." />
    </element>
    <element id="Procedure.performer.actor.display">
      <path value="Procedure.performer.actor.display" />
      <short value="Nombre completo del profesional sanitario" />
      <definition value="Text alternative for the resource. Plain text narrative that identifies the resource in addition to the resource reference." />
    </element>
  </differential>
</StructureDefinition>