From 1086106ebe13243d3d3735ad6d79bf57c85f021e Mon Sep 17 00:00:00 2001 From: Datzu712 <41zohan@gmail.com> Date: Tue, 22 Sep 2026 08:24:09 -0600 Subject: [PATCH 1/3] docs: add the community files --- CODE_OF_CONDUCT.md | 89 +++++++++++++++++++++++++++++++++ CONTRIBUTING.md | 44 +++++++++++++++++ LICENSE | 121 +++++++++++++++++++++++++++++++++++++++++++++ SECURITY.md | 19 +++++++ 4 files changed, 273 insertions(+) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 SECURITY.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..93c102e --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,89 @@ +# Código de Conducta para Contribuyentes, versión 3.0 + +## Nuestro compromiso + +Nos comprometemos a hacer de nuestra comunidad un espacio abierto, seguro y equitativo para todas las personas. + +Estamos comprometidos a fomentar un entorno que respete y promueva la dignidad, los derechos y las contribuciones de todas las personas, independientemente su raza, etnia, casta, color, edad, características físicas, neurodiversidad, discapacidad, sexo o género, identidad o expresión de género, orientación sexual, idioma, filosofía o religión, origen nacional o social, posición socioeconómica, nivel de educación u otras condiciones. Los mismos privilegios se extienden a todas las personas que participen de buena fe y de acuerdo con este Convenio. + +## Conducta esperada + +Reconociendo las diferencias en las normas sociales, todos nosotros buscamos cumplir con las expectativas de buena conducta de nuestra comunidad. También entendemos que nuestras palabras y acciones pueden interpretarse de manera diferente a lo que queremos transmitir, debido a factores como la cultura, el contexto o el idioma nativo. + +Con estas consideraciones en mente, acordamos respetarnos mutuamente y actuar de formas que reflejen nuestros valores compartidos, incluyendo: + +1. **Respetar el propósito de nuestra comunidad**, nuestras actividades y las formas en las que interactuamos. +2. Involucrarse de manera **honesta y amable** con los demás. +3. Respetar los **diferentes puntos de vista** y experiencias. +4. **Tomar responsabilidad** de nuestras acciones y contribuciones. +5. Dar y recibir **crítica constructiva** de manera respetuosa. +6. **Reparar el daño** cuando ocurra. +7. Comportarse de cualquier otra manera que promueva y mantenga **el bienestar de nuestra comunidad**. + +## Comportamientos no permitidos + +Acordamos restringir los siguientes comportamientos en nuestra comunidad. Las instancias, amenazas y promoción de estos comportamientos constituyen una violación a este Código de Conducta. + +1. **Acoso.** Violar los límites explicitamente establecidos por otra persona o continuar con contacto personal no deseado después de cualquier solicitud clara para detenerse. +2. **Ataques personales.** Hacer comentarios insultantes, denigrantes o despectivos sobre alguien de la comunidad o a un grupo de personas. +3. **Estereotipos o discriminación.** Catalogar o asumir la personalidad o el comportamiento de alguien con base en su identidad o rasgos inmutables. +4. **Sexualización.** Comportarse de cualquier manera que generalmente se considere íntimamente inapropiada en el contexto o propósito de la comunidad. +5. **Violación de la confidencialidad.** Compartir o hacer uso de información personal o privada de alguien sin su consentimiento. +6. **Poner en peligro.** Causar, incitar o amenazar con violencia u otro tipo de daño hacia cualquier persona o grupo. +7. Comportarse de cualquier otra manera que **amenace el bienestar** de nuestra comunidad. + + + +### Otras restricciones + +1. **Identidad engañosa.** Hacerse pasar por otra persona por cualquier razón, o fingir ser alguien más para evadir acciones disciplinarias. +2. **Falta de atribución.** No acreditar correctamente las fuentes del contenido que se contribuye. +3. **Material promocional.** Compartir contenido de marketing u otro contenido comercial de una manera que esté fuera de las normas de la comunidad. +4. **Comunicación irresponsable.** No presentar de manera responsable contenido que incluya, enlace o describa cualquier otro comportamiento restringido. + + +## Reportar un incidente + +Pueden surgir tensiones entre miembros de la comunidad incluso cuando todos hacen su mejor esfuerzo por colaborar. No todo conflicto representa una violación al código de conducta. Este Código refuerza conductas y normas que pueden ayudar a prevenirlos y minimizar el daño. + +Cuando ocurra un incidente, es importante reportarlo a la brevedad. Para reportar una posible violación, envie un correo electrónico a juan@meddyg.com. + +Las personas moderadoras toman los reportes de violaciones con seriedad y harán su mejor esfuerzo por responder oportunamente. Se investigarán todos los reportes, revisando mensajes, registros y grabaciones, o entrevistando a testigos y demás participantes. El equipo moderador mantendrán las investigaciones y acciones lo más transparentes posible, priorizando siempre la seguridad y la confidencialidad. Para respetar estos valores, las acciones se llevan a cabo de manera privada con las partes involucradas, aunque comunicarlo a toda la comunidad puede ser parte de una resolución acordada por ambas partes. + +## Atender y reparar el daño + +Si la investigación del equipo moderador determina que este Código de Conducta ha sido infringido, se puede aplicar la siguiente escala de acciones para determinar la mejor manera de reparar el daño, según el impacto del incidente en las personas involucradas y en la comunidad en general. Dependiendo de la gravedad de la violación, algunos pasos pueden omitirse. + +1. **Advertencia** + - **Situación:** Una violación que involucra un incidente único o una serie de incidentes. + - **Consecuencia:** Una advertencia privada y por escrito del equipo moderador. + - **Reparación:** Ejemplos de reparación incluyen una disculpa privada por escrito, el reconocimiento de la responsabilidad y la aclaración sobre las expectativas. + +2. **Restricción temporal de actividades** + - **Situación:** Una violación repetida que previamente resultó en una advertencia, o la primera ocurrencia de una violación seria. + - **Consecuencia:** Una advertencia privada por escrito con un período de pausa temporal, diseñado para subrayar la seriedad de la situación y dar tiempo a las personas involucradas para procesar el incidente. Este período puede limitarse a ciertos canales de comunicación o interacciones con miembros específicos de la comunidad. + - **Reparación:** Ejemplos de reparación incluyen ofrecer una disculpa, usar el período de pausa para reflexionar sobre sus acciones y su impacto, y ser consciente al reintegrarse a los espacios de la comunidad. + +3. **Suspensión temporal** + - **Situación:** Un patrón de violaciones repetidas que el equipo moderador ha intentado abordar con advertencias, o una violación grave única. + - **Consecuencia:** Una advertencia privada por escrito con condiciones para el regreso. En general, las suspensiones temporales dan a la persona suspendida tiempo para reflexionar sobre su comportamiento y las posibles acciones correctivas. + - **Reparación:** Ejemplos de reparación incluyen respetar el espíritu de la suspensión, cumplir con las condiciones establecidas para el regreso y reflexionar sobre cómo reintegrarse a la comunidad al levantarse la suspensión. +4. **Expulsión permanente** + - **Situación:** Un patrón de violaciones repetidas que los pasos anteriores no han logrado resolver, o una violación tan grave que el equipo moderador determina que no es posible mantener la seguridad de la comunidad con esa persona como miembro. + - **Consecuencia:** Se revoca el acceso a todos los espacios, herramientas y canales de comunicación de la comunidad. Las expulsiones permanentes deben usarse raramente, estar bien fundamentadas y ser el último recurso cuando otras medidas han fallado. + - **Reparación:** No existe reparación posible en casos de esta gravedad. + +Esta escala de acciones es solo una guía. No limita la capacidad del equipo moderador de usar su criterio y juicio en beneficio de nuestra comunidad. + +## Alcance + +Este Código de Conducta aplica en todos los espacios de la comunidad, y también cuando una persona representa oficialmente a la comunidad en espacios públicos o externos. Algunos ejemplos incluyen usar una dirección de correo oficial, publicar desde una cuenta oficial en redes sociales, o actuar como representante designada o designado en un evento presencial o en línea. + +## Atribución + +Este Código de Conducta está adaptado del Contributor Covenant, versión 3.0, disponible de manera permanentemente en [https://www.contributor-covenant.org/version/3/0/](https://www.contributor-covenant.org/version/3/0/). + +Contributor Covenant es administrado por la Organización para el Código Ético, bajo la licencia CC BY-SA 4.0. Para ver una copia de esta licencia, visita [https://creativecommons.org/licenses/by-sa/4.0/](https://creativecommons.org/licenses/by-sa/4.0/). + +Para ver las respuestas a preguntas frecuentes sobre Contributor Covenant, ver [https://www.contributor-covenant.org/faq](https://www.contributor-covenant.org/faq). Las traducciones están disponibles en [https://www.contributor-covenant.org/translations](https://www.contributor-covenant.org/translations). Recursos adicionales sobre moderación y guías comunitarias pueden encontrarse en [https://www.contributor-covenant.org/resources](https://www.contributor-covenant.org/resources). La escala de acciones fue inspirada por el trabajo del [equipo de código de conducta de Mozilla](https://github.com/mozilla/inclusion). + diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..8aa4d57 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,44 @@ +# Cómo contribuir + +Esta es una guía de implementación narrativa. Lo que se escribe vive en `input/pagecontent/`, y el orden, los títulos y el menú salen de `sushi-config.yaml`. No hay nada más que tocar para aportar contenido. + +Antes de empezar, instale lo que pide el [README](README.md) y ejecute `make tools` una vez para descargar el IG Publisher. + +Una buena forma de empezar es [`TODO.md`](TODO.md), que reúne lo que el repositorio tiene pendiente: desde puntos concretos marcados en las páginas, como diagramas por rehacer o una comprobación técnica que falta, hasta capítulos enteros que ya están declarados en `sushi-config.yaml` y esperan a que alguien los escriba. Si toma uno, dígalo en un issue para que nadie trabaje dos veces lo mismo. + +Las dudas se preguntan en [Discussions](https://github.com/meddyg/Health-Information-Exchange/discussions), sea sobre la guía o sobre los perfiles en que se apoya. Los issues quedan así para el trabajo concreto, que es lo que se puede tomar, revisar y cerrar. + +## Cambios de arquitectura + +Todo cambio que toque decisiones en la arquitectura necesita un issue que lo abarque antes de que se escriba una línea. Cuenta como tal cualquier cosa que altere el alcance de la guía, los actores o sus agrupaciones, las transacciones y su reparto entre la infraestructura central y los miembros, o una decisión que ya esté escrita y razonada en el Volumen 1. + +La propuesta se sustenta en fuentes, no en preferencias. Sirven los perfiles IHE y las especificaciones FHIR aplicables, los RFC que gobiernen el mecanismo en cuestión y la documentación de los sistemas involucrados, citando siempre la sección exacta y su texto literal, igual que las notas al pie de la guía. Lo que no tenga ese respaldo se sigue discutiendo en el issue y no llega al pull request. + +## Ciclo de trabajo + +`main` es la rama de producción, la que sirve , y nada llega ahí directamente. Todo cambio se integra a `dev` mediante un pull request, y lo acumulado en `dev` se promueve a `main` cuando se publica una versión. + +1. **Nueva rama desde `dev`** con un nombre del estilo `feat/descripcion-corta`, `fix/`, `docs/`, `build/` o `chore/`. +2. **Escriba contra `make preview`**, que recarga al guardar y marca palabra por palabra lo que la página ganó, perdió o cambió respecto a HEAD. +3. **Ejecute `make format`** antes de cada commit; corrige el estilo de las páginas y reporta lo que no puede arreglar solo. +4. **Verifique con `make site`**, que es la build que cuenta y debe terminar sin errores. +5. **Los commits siguen [Conventional Commits](https://www.conventionalcommits.org/es/v1.0.0/)**, escritos en inglés, en minúscula y en imperativo, como `docs: tighten the identity rules in Volume 1`. Los tipos en uso son `feat` para contenido nuevo de la especificación, `fix` para correcciones, `docs` para la redacción y el material de apoyo, `build` y `ci` para el pipeline de publicación, y `chore` para lo demás. El ámbito es opcional de momento mientras se define el criterio para este. +6. **Abra el pull request contra `dev`** describiendo qué cambia en la especificación, no solo qué archivos toca. El pipeline despliega una vista previa del sitio en `https://pr-N.hix-ig.pages.dev/fhir/hix/` para revisar el resultado antes de integrar. + +## Convenciones de las páginas + +1. **Cada página empieza con prosa, sin encabezado de nivel uno.** El título lo pone `sushi-config.yaml` y el sitio numera las secciones según el orden declarado ahí. +2. **Una página nueva se registra dos veces** en ese archivo, bajo `pages:` para que exista y bajo `menu:` para que se pueda llegar a ella. +3. **Los enlaces internos apuntan al `.html` renderizado**, como `volume-1-concepts.html#seccion`, nunca al archivo `.md`. +4. **Las tablas llevan `{: .table .table-bordered}`** en la línea siguiente, y las anclas explícitas se declaran igual, con `{: #figura-2-1}`. +5. **Se escribe en español (de momento), en frases completas**, con afirmaciones numeradas cuando la idea se presta y las aclaraciones como notas, no entre paréntesis. +6. **Los actores y transacciones que define una especificación conservan su nombre original en inglés**, por ejemplo Document Registry, nunca «Registro documental». +7. **Toda afirmación sobre lo que exige una especificación va con nota al pie** que enlaza la sección exacta y cita su texto literal, como en `volume-1-concepts.md`. + +## Diagramas + +Las fuentes están en `_diagrams/`. Las de PlantUML se rendarían con `make diagrams` hacia `input/images/`. Las de draw.io no se pueden exportar automáticamente, entonces si o si hay que exportarlas a mano desde la aplicación. + +## Conducta y seguridad + +Participar aquí implica respetar el [Código de Conducta](CODE_OF_CONDUCT.md). Los hallazgos de seguridad no se reportan en un issue público, sino por la vía que describe la [política de seguridad](SECURITY.md). diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..0e259d4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..1cc2b60 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,19 @@ +# Política de seguridad + +Este repositorio contiene una especificación y el pipeline que la publica, no software en ejecución. Aun así, hay hallazgos que conviene reportar de forma privada antes de que sean públicos, porque quien ya siguió la guía queda expuesto mientras tanto. + +## Qué reportar aquí + +1. **Defectos de la especificación con impacto de seguridad.** Una recomendación cuyo cumplimiento debilitaría la seguridad de una implementación, por ejemplo en la autenticación, la autorización, el consentimiento o la auditoría. +2. **Datos expuestos en el material publicado.** Ejemplos, diagramas o textos que contengan datos personales, credenciales o endpoints internos reales. +3. **El sitio y su cadena de publicación.** Problemas en los flujos de trabajo de `.github/workflows`, en los guiones de `_scripts` o en el sitio que se despliega a partir de ellos. + +## Qué no corresponde a este repositorio + +Las vulnerabilidades de los sistemas que implementan esta guía, y las de los servidores FHIR y demás software de terceros, deben reportarse a quien opera ese software. Aquí solo se atiende lo que esta especificación dice y lo que este repositorio publica. + +## Cómo reportar + +Use «Report a vulnerability» en la pestaña Security de este repositorio, o escriba a [juan@meddyg.com](mailto:juan@meddyg.com). No abra un issue público, porque eso divulga el problema a quienes aún no pueden corregirlo. Describa el hallazgo, indique la página, la sección o el archivo afectado y explique qué haría posible el problema. Se acusa recibo en un plazo máximo de cinco días hábiles. + +Los reportes sobre el comportamiento de las personas de la comunidad no van por esta vía, sino por la que describe el [Código de Conducta](CODE_OF_CONDUCT.md). From e5d82ff087ed60d0f1cbd540deaf0d2ba8a64f40 Mon Sep 17 00:00:00 2001 From: Datzu712 <41zohan@gmail.com> Date: Tue, 22 Sep 2026 08:24:09 -0600 Subject: [PATCH 2/3] chore: add the issue forms and the pull request template --- .../ISSUE_TEMPLATE/01-error-en-la-guia.yml | 37 +++++++++++++++++ .github/ISSUE_TEMPLATE/02-contenido-nuevo.yml | 41 +++++++++++++++++++ .github/ISSUE_TEMPLATE/03-herramientas.yml | 28 +++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 11 +++++ .github/pull_request_template.md | 16 ++++++++ 5 files changed, 133 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/01-error-en-la-guia.yml create mode 100644 .github/ISSUE_TEMPLATE/02-contenido-nuevo.yml create mode 100644 .github/ISSUE_TEMPLATE/03-herramientas.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/pull_request_template.md diff --git a/.github/ISSUE_TEMPLATE/01-error-en-la-guia.yml b/.github/ISSUE_TEMPLATE/01-error-en-la-guia.yml new file mode 100644 index 0000000..304b679 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/01-error-en-la-guia.yml @@ -0,0 +1,37 @@ +name: Error o imprecision en la guía +description: Algo que la especificación dice y está mal, es ambiguo o contradice al perfil de origen. +labels: ["Type: Content", "Type: Bug"] +body: + - type: input + id: ubicacion + attributes: + label: Página y sección + description: Por ejemplo, volume-1-concepts.md, sección 2.1.3, o el enlace a la sección en el sitio. + validations: + required: true + - type: textarea + id: dice + attributes: + label: Qué dice hoy + description: Cite el texto tal como está. + validations: + required: true + - type: textarea + id: problema + attributes: + label: Por qué es incorrecto + description: Si contradice a una especificación, enlace la sección exacta y cite su texto literal. + validations: + required: true + - type: textarea + id: propuesta + attributes: + label: Corrección propuesta + description: Opcional. La redacción que debería quedar. + - type: checkboxes + id: conducta + attributes: + label: Antes de enviar + options: + - label: He leído el [Código de Conducta](https://github.com/meddyg/Health-Information-Exchange/blob/main/CODE_OF_CONDUCT.md) y esto no es un hallazgo de seguridad. + required: true diff --git a/.github/ISSUE_TEMPLATE/02-contenido-nuevo.yml b/.github/ISSUE_TEMPLATE/02-contenido-nuevo.yml new file mode 100644 index 0000000..9ac1d38 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/02-contenido-nuevo.yml @@ -0,0 +1,41 @@ +name: Contenido por escribir +description: Una sección, un capítulo o una capacidad que la guía aún no especifica. +labels: ["Type: Content", "Type: Enhancement"] +body: + - type: dropdown + id: parte + attributes: + label: Qué parte de la guía + options: + - Volumen 1. Arquitectura + - Volumen 2. Transacciones + - Volumen 3. Contenido y semántica + - Conformidad + - Apéndices + - Otra + validations: + required: true + - type: textarea + id: alcance + attributes: + label: Qué debe especificar + description: Qué tiene que quedar definido al terminar, y qué queda explícitamente fuera. + validations: + required: true + - type: textarea + id: fuentes + attributes: + label: Perfiles y transacciones implicados + description: Los perfiles IHE, transacciones o recursos FHIR de los que depende, con enlaces si los tiene. + - type: input + id: todo + attributes: + label: Entrada de TODO.md + description: Opcional. Si ya figura en la lista de pendientes, indique cuál. + - type: checkboxes + id: conducta + attributes: + label: Antes de enviar + options: + - label: He leído el [Código de Conducta](https://github.com/meddyg/Health-Information-Exchange/blob/main/CODE_OF_CONDUCT.md). + required: true diff --git a/.github/ISSUE_TEMPLATE/03-herramientas.yml b/.github/ISSUE_TEMPLATE/03-herramientas.yml new file mode 100644 index 0000000..ba69733 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/03-herramientas.yml @@ -0,0 +1,28 @@ +name: Problema al construir el sitio +description: Un comando del Makefile, el pipeline de publicación o la vista previa que no funcionan. +labels: ["Type: Bug"] +body: + - type: input + id: comando + attributes: + label: Comando + description: Por ejemplo, make site, make preview, make docs o make diagrams. + validations: + required: true + - type: textarea + id: esperado + attributes: + label: Qué esperaba y qué pasó + validations: + required: true + - type: textarea + id: salida + attributes: + label: Salida del comando + description: El error tal cual, sin recortar la línea que lo provoca. + render: shell + - type: textarea + id: entorno + attributes: + label: Entorno + description: Sistema operativo y versiones de Java, Ruby, SUSHI, pandoc y Typst, si vienen al caso. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..9c0a8e9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: Preguntar en Discussions + url: https://github.com/meddyg/Health-Information-Exchange/discussions + about: Las dudas sobre la guía o sobre los perfiles en que se apoya se preguntan ahí. Los issues son para trabajo concreto. + - name: Reportar una vulnerabilidad + url: https://github.com/meddyg/Health-Information-Exchange/security/advisories/new + about: Los hallazgos de seguridad se reportan en privado, nunca en un issue público. Ver SECURITY.md. + - name: Leer la guía publicada + url: https://hix.meddyg.com/fhir/hix/ + about: El sitio con la especificación, por si la duda se resuelve ahí. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..c58f046 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,16 @@ +## Qué cambia + + + +## Por qué + + + +## Antes de pedir revisión + +- [ ] El PR va dirigido a `dev`. +- [ ] Si toca la arquitectura, el issue que lo respalda está enlazado, y la decisión se sostiene en las fuentes citadas. +- [ ] `make format` pasó y `make site` termina sin errores. +- [ ] Toda afirmación nueva sobre lo que exige una especificación lleva nota al pie con la sección exacta y su texto literal que la fundamenta. +- [ ] Las páginas nuevas están registradas en `pages:` y en `menu:` de `sushi-config.yaml`, y los enlaces internos apuntan al `.html`. +- [ ] Revisé el resultado en la vista previa del PR. From 79f1c5ec3af726076c761d33c2dd15cc6f97ea5a Mon Sep 17 00:00:00 2001 From: Datzu712 <41zohan@gmail.com> Date: Tue, 22 Sep 2026 08:24:09 -0600 Subject: [PATCH 3/3] docs: collect the pending work in TODO.md --- TODO.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 TODO.md diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..9567b84 --- /dev/null +++ b/TODO.md @@ -0,0 +1,26 @@ +# Pendientes + +Este archivo reúne lo que el repositorio tiene marcado como pendiente. Cada entrada dice dónde vive, para que al resolverla se borren las dos cosas a la vez, la marca en su archivo y la línea de aquí. + +## Marcas en las páginas + +1. **Rehacer en draw.io los diagramas de la sección 2.2.** Los tres diagramas de las pestañas son un mock en PlantUML y deben quedar como la Figura 2-1. En `input/pagecontent/volume-1-actors.md:8`. +2. **Alinear el tratamiento de la aplicación del paciente.** Figura como cliente en el Authorization Server y puede ser un cliente confidencial cuando tiene backend propio, y de eso depende si se la considera miembro y qué le exigen ATNA, CT y la auditoría. En `input/pagecontent/volume-1-groupings.md:31` (requiere discusión previa). +3. **Comprobar con pruebas qué guarda el registro de mensajes de X-Road.** Hay que saber si conserva los mensajes completos y cómo se configura, y reflejar el resultado en esa opción y en las decisiones de política de la sección 2.6. En `input/pagecontent/volume-1-options.md:37`. + +## Páginas declaradas pero no escritas + +La estructura completa de la guía ya está en `sushi-config.yaml`, comentada hasta que cada parte exista. Son treinta páginas repartidas así. + +1. **El Volumen 2 entero**, once páginas contando su portada y el índice de transacciones, con ITI-65, ITI-67, ITI-68, ITI-83, ITI-104, ITI-90 y las tres transacciones propias HIX-1, HIX-2 y HIX-3, desde la línea 69. +2. **La sección de conformidad**, seis páginas con las ediciones soportadas, la matriz de requisitos, las desviaciones respecto a IHE, las extensiones propias y los artefactos, desde la línea 107. + +Nota: las dependencias en el archivo de sushi están comentadas para evitar problemas con el CI de despliegue durante la escritura de estas páginas. En el release formal se descomentaran y se hará la integration completa a la guía. + +## Capacidades aplazadas a una versión posterior + +Son parte de la arquitectura y están anunciadas como tales en la [descripción general](input/pagecontent/index.md), no son omisiones. + +1. **Consentimiento anticipado del paciente.** La guía ya dice dónde se aplica la decisión de divulgación y qué información necesita. Quedan el modelo de consentimiento (PCF), su ciclo de vida y sus políticas, a partir de los perfiles IHE aplicables. **(PRIORIDAD)** +2. **Auditoría de operaciones y divulgaciones.** La guía ya establece que hay que registrar las operaciones en ambos extremos. Quedan el modelo de consulta y el comportamiento ante fallos. +3. Versión de la guía en inglés.