Skip to content

52 massive git folder around 6.8 gb - #53

Closed
niccoreyes wants to merge 260 commits into
mainfrom
52-massive-git-folder-around-68-gb
Closed

52 massive git folder around 6.8 gb#53
niccoreyes wants to merge 260 commits into
mainfrom
52-massive-git-folder-around-68-gb

Conversation

@niccoreyes

Copy link
Copy Markdown
Collaborator

Ran git-filter-repo to remove large build artifacts (input-cache, output, temp) from history. Reduced .git folder

git filter-repo --path input-cache/ --path output/ --path temp/ --path fsh-generated/ --invert-paths --force

This is to streamline IG Consolidation into the PH-Core for other collaborators as well

niccoreyes and others added 30 commits October 6, 2025 18:51
- Rename usecase-phcore-interoperability.md to usecase-ph-core-interoperability.md for consistent hyphenation
- Add CSS styling for responsive SVG display with auto-scaling and viewport constraints
- Wrap SVG diagram in styled div container for better layout control
- Update menu reference in sushi-config.yaml to match renamed file

This improves filename consistency and ensures SVG diagrams display properly across different screen sizes without stretching the page layout.
**What changed:**
- Created new usecase-phcore-benefits.plantuml diagram dedicated to visualizing PH-CORE implementation benefits (profile reuse, consistent data models, reduced development, national governance)
- Extracted benefits package from interoperability diagram to reduce complexity
- Updated profile naming convention across diagrams (PHPatient → PHCorePatient, PHPractitioner → PHCorePractitioner, etc.)
- Added "[example]" labels to Laboratory and Vital Records IGs for clarity
- Standardized actor styling with 'awesome' theme
- Fixed naming inconsistencies (OneISS → ONEISS, DOH Systems → Other DOH Systems)
- Added Firely analysis note highlighting governance insights

- Improves diagram clarity by separating concerns (interoperability vs benefits)
- Aligns with consistent naming conventions for PH-CORE profiles
- Enhances documentation by creating focused, single-purpose visualizations
- Makes diagrams more maintainable and easier to understand
- Change IG id from 'ph-road-safety-ig' to 'example.fhir.ph.roadsafety'
- Update canonical URL organization from 'UP-Manila-SILab' to 'UPM-NTHC'
- Update ImplementationGuide file path to match new identifier

These changes standardize the naming convention and reflect the correct
organizational ownership of the implementation guide.
feat: Add comprehensive Road Safety MDS implementation
Revert "feat: Add comprehensive Road Safety MDS implementation"
Comment out three sample terminology definitions in runreport-bundle:
- ExternalCauseCS CodeSystem
- CollisionTypeCS CodeSystem
- CollisionTypeVS ValueSet

These sample code systems and value sets are being temporarily disabled,
likely to be replaced with external references or moved to a separate
terminology file.
Renamed CodeSystem from 'TaskStatus' to 'RSTaskStatusCS' and ValueSet
from 'TaskStatus' to 'RSTaskStatusVS' to follow naming conventions and
address

```warn  Detected FSH entity definitions with duplicate names. While FSH allows for duplicate names across entity types, they can lead to ambiguous results when referring to these entities by name elsewhere (e.g., in references). Consider using unique names in FSH declarations and assigning duplicated names using caret assignment rules instead. Detected duplicate names: TaskStatus.```

Changes:
- Renamed CodeSystem to RSTaskStatusCS with explicit ^name property
- Renamed ValueSet to RSTaskStatusVS with explicit ^name property
- Updated ValueSet reference to use CodeSystem ID (rs-task-status-cs)

This addresses FSH warning on the use of `TaskStatus` name that overlaps with a dedicated resource.
addresses:

```warn  Cannot find the entity referenced at patient-jose-dela-cruz. The provided reference value will be used, but this reference does not conform to the FHIR Reference format.
  File: C:\GitHub\PH-RoadSafetyIG\input\fsh\instance\road-safety-servicerequest-example.fsh
  Line: 8
warn  Cannot find the entity referenced at organization-stlukes. The provided reference value will be used, but this reference does not conform to the FHIR Reference format.
  File: C:\GitHub\PH-RoadSafetyIG\input\fsh\instance\road-safety-servicerequest-example.fsh
  Line: 13```

- Add new patient instance (Jose Dela Cruz) for road safety example
- Add organization instance (St. Jaylord's Medical Center)
- Uncomment and activate hospital-example organization
- Add two location instances: accident scene and hospital ED
- Fix resource references in ServiceRequest to use proper type prefixes (Patient/, Organization/, etc.)
- Update organization reference from organization-stlukes to organization-stjaylords for official use to prevent copyright issues.
I agree. I appreciate you hunting and finding the mistake I was searching for.
Restore deleted FSH instance files and revert _build.bat modifications to clean up branch before merging to main.
I recreated the `.plantuml` of the SVG to achieve maintainability.
Removed git merge conflict markers from FSH instance files for road safety
encounter and service request examples. Retained the correct versions with
proper FHIR reference syntax (e.g., Reference(Patient/...) instead of
Reference(patient-...)) and removed commented-out organization instance code.

This ensures the FSH files compile correctly and follow proper FHIR
resource referencing patterns.
- Rename organization instance from organization-stjaylords to organization-uppgh
- Update organization details to reflect UP Philippine General Hospital
- Change address from Quezon City to Taft Avenue, Ermita, Manila
- Update ServiceRequest example reference to use new organization instance

This replaces the fictional hospital example with a real healthcare provider for more realistic demonstration purposes.
Add a new Node.js script that generates PlantUML class diagrams from FHIR artifacts. The script supports two input modes: parsing FSH (FHIR Shorthand) files or StructureDefinition JSON files.

Key features:
- Extracts profiles, logical models, and extensions
- Builds UML class diagrams showing relationships and attributes
- Supports filtering by paths and profile types
- Configurable input/output via CLI arguments
- Handles references, canonical types, and cardinality
- Optional inclusion of core FHIR resources

This tool enables automated visualization of FHIR implementation guide structures, making it easier to understand and document resource relationships and profiles without manual encoding
Add comprehensive PlantUML class diagram documenting the relationships
between FSH profiles in the rescue service/road safety system. The diagram
visualizes core resources including RSPatient, RSEncounter, RSCondition,
RSAllergyIntolerance, and related extensions, showing their properties,
cardinalities, and references to support implementation guide documentation.
Relocate road-safety-ig.svg from input/images-source/ to input/includes/
to better reflect its usage as an included resource rather than a source
image file. This addresses
```
Liquid Exception: Could not locate the included file 'road-safety-ig.svg' in any of ["/github/workspace/temp/pages/_includes"]. Ensure it exists in one of those directories and, if it is a symlink, does not point outside your site source. in data-mo (00:05.749 / 03:28.949, 897Mb)
```
Remove .fsh file extensions from profile bundles (facility-bundle,
runreport-bundle) and valuesets (MDS-AnswerSets, MDSRoadSafety) to
align with FSH naming conventions.

This is for the build to ignore v1 files
Refactor road safety value sets from placeholder examples to use standard medical terminologies (LOINC and SNOMED CT):

- Remove unused aliases (v3-ParticipationType, PHCoreOccupation)
- Update CollisionTypeVS to use explicit local codes with standardization note
- Migrate ModeOfTransportVS to LOINC Answer List codes (74286-6)
- Convert OutcomeVS to use SNOMED CT codes for patient outcomes
- Add new RSAVPUVS for AVPU consciousness scale using SNOMED CT
- Replace generic ShareableValueSet inserts with explicit status and URLs
- Rename aliases from lowercase to uppercase ($sct → $SCT, $loinc → $LNC) for consistency with FHIR naming conventions
- Update all references throughout profiles, instances, and value sets to use new alias names
- Expand RSObservation profile with additional vital sign components (respiratory rhythm, breath sounds, pulse quality, etc.)
- Add specific Reference types for subject, encounter, and performer elements
- Add new value sets for clinical observations including GCS responses, respiratory assessments, and circulation status
- Ensure consistent use of standardized terminology codes across all resources
…ble SNOMED CT codes

- Replace text-only codes with SNOMED CT codes for external cause components (Burns, Drowning, Fall, Transport accident)
- Change cardinality from 0..* to 0..1 for specification components to ensure single-value entries (BitesStings, Burns, Chemical, ContactSharp, Drowning, Fall, Firecracker, Gunshot)
- Add valueCodeableConcept binding to ExternalCauseVS for ExposureForces component
- Improve semantic interoperability by using standardized terminology instead of plain text codes
…inciple over the bundle resource

Attempted to generate bundle as an example of how to reuse observation
Removed and re-added condition entries in RS-Bundle-Minimum-Ex.fsh to address profile differentiation issues. Commented out condition-related entries in RS-Bundle-Profiles.fsh to aid discriminators in distinguishing between similar profiles. This change aims to enhance clarity and maintain the integrity of the minimum data set submission.
…dle entries

Added HTTP request method and URL details to each entry in the RS-Bundle-Minimum-Ex example. This enhancement ensures that each resource entry specifies the intended HTTP action and target resource type, improving clarity and facilitating correct processing of
Updated the `subject` and `encounter` references to use UUIDs instead of named references in the RS-Bundle-Minimum-Ex.fsh file. This change ensures consistency and aligns with the expected format for referencing resources, improving interoperability and clarity in the data set.
Removed unnecessary commented-out lines in the RS-Bundle-Minimum-Ex.fsh file to improve readability and maintainability. This cleanup helps focus on the active code and ensures that only relevant information is retained in the example file.
Renamed an existing instance for clarity and added multiple new instances to the RS-Bundle-Minimum-Ex.fsh file. These instances include examples for allergies, medications, tasks, locations, document references, and various observations such as blood pressure, pulse rate, respiratory rate, body temperature, and Glasgow Coma Scale. This enhancement provides a more comprehensive set of examples for the minimum data set, improving the documentation and usability of the data model.
Added comments to `RS-Bundle-Minimum-Ex.fsh` and `RS-Encounter.fsh` to document warnings about the use of a coding (`http://loinc.org#LA10268-3`) not found in the required value set `ActEncounterCode`. This change helps track known issues with terminology validation and provides context for future resolution.
Added new instances to the RS-Bundle-Minimum-Ex.fsh file to enhance the representation of timeline events and organizational details. This includes instances for various timeline observations such as date received, time enroute, time on scene, time departed, and time of hospital arrival. Additionally, a new organization instance was added to provide a reference for the service provider. These changes improve the completeness and accuracy of the minimum data set example.
Updated the `burnType` code from "Burning due to contact with hot substance (event)" to "Burn injury" in the RS-Bundle-Minimum-Ex.fsh example. This change ensures the use of a more appropriate SNOMED CT code for the context of burn injuries.
Updated instance names in RS-Bundle-Minimum-Ex.fsh to use PascalCase for consistency and readability. This change aligns with naming conventions and improves clarity across the codebase.
Updated the FSH relationships diagram to refine class attributes and streamline class definitions. Removed redundant attributes and classes, such as `RSCompositionEMS` and `RSProcedure`, to simplify the model. Added new references and identifiers for clarity and consistency, including `rs-example-patient` and `rs-example-encounter`. This enhances the diagram's readability and aligns it with current data structures.
Added a new class diagram in Draw.io format to the project under `input/includes/classdiagram.drawio`. This diagram provides a visual representation of the system architecture, including key classes such as `RSPatient`, `RSEncounter`, and `RSObservation`. This addition aims to enhance understanding of the system's structure and relationships between components for developers and stakeholders.
… profile

Change location slicing discriminator from #value to #profile and update path from "location" to "resolve" to properly handle profile-based slicing for encounter locations. This ensures correct resolution of location references when slicing by profile constraints.

Also includes updates to Minimum-MS-1.csv data file with revised field mappings and requirements.
Change the discriminator path from 'resolve' to 'location.resolve()' in RS-Encounter profile to properly reference the location resolution method. This ensures correct profile slicing behavior for encounter locations.
Change the discriminator path for Encounter.location slicing from
'location.resolve()' to 'resolve().meta.profile()' to properly
reference the resolved resource's profile metadata for more accurate
slicing discrimination.
Update the discriminator path for location slicing from 'resolve().meta.profile()' to '$this.location.resolve()' to correctly reference the resolved location resource when slicing encounter locations. This ensures proper profile matching for accident site and facility location slices.
Change location slicing discriminator from profile-based to value-based using resolved location's first profile. This provides more precise slicing by directly referencing the profile URL in the resolved location resource metadata.
- Add type constraints for accidentSite and facility location slices in RS-Encounter profile
- Update RS-Location profiles to use service-type codes instead of v3-ServiceDeliveryLocationRoleType
- Set accident locations to use service-type#236 "Accident"
- Set facility locations to use service-type#335 "Facility"
- Remove v3-ServiceDeliveryLocationRoleType binding in favor of service-type codes
- Update example instances to use new service-type codes

This change improves code system consistency and aligns with modern HL7 terminology standards.
Change the discriminator path for Encounter.location slicing from 'location.resolve().meta.profile[0]' to 'type'. This simplifies the slicing logic by using the location type directly instead of resolving the location resource and checking its profile, making the implementation more straightforward and maintainable.
…dency

- Comment out location slicing discriminator and detailed constraints
- Add cardinality and short descriptions for accidentSite and facility slices
- Add hl7.fhir.r4.core dependency to sushi-config.yaml for proper FHIR R4 support
- Maintain existing structure while improving clarity and dependency management
The hl7.fhir.r4.core dependency is no longer needed as we are now
using the example.fhir.ph.core dependency exclusively. This change
simplifies the configuration and removes unused dependencies.
This PR addresses the NullPointerException encountered in FHIRLab
related to the bundle issue.
Specifically, it includes changes to `scripts/uploadfig.ps1` to prevent
this error.

Resolves #48
Update terminology references to use standardized code system prefixes ($SCT for SNOMED CT and $LNC for LOINC) instead of direct system names. This improves consistency across value set definitions and aligns with FHIR Shorthand best practices for terminology references.

Changes affect multiple value sets including:
- SILPHEncounterParticipantRoleVS
- SILPH_Activity_VS
- SILPH_Burns_VS
- SILPH_Cyanosis_VS
- SILPH_Element_Terminology_VS

All SNOMED CT codes now use $SCT prefix and LOINC codes use $LNC prefix, maintaining the same code values and displays while improving code readability and maintainability.
## Summary

* **Fixed system slicing issue (#50)**: Resolved identifier slicing
discriminator configuration to use `system` instead of `type` for
correct FHIR validation.

## Changes

### **RS-Encounter Profile**

*File: `input/fsh/profiles/RS-Encounter.fsh`*

* **Identifier slicing**

* Updated discriminator path from `type` → `system` to comply with
proper FHIR slicing rules.
* **Incident number identifiers**: `system =
'http://doh.incident.system/'`
* **Hospital case number identifiers**: `system =
'http://doh.hospitalno.system/'`

* **Location slicing improvements**

* Corrected slicing discriminator configuration for
`Encounter.location`.

* **Expanded commented configurations**

* Added detailed commentary explaining identifier and location slicing
patterns for easier maintenance and onboarding.

## Technical Details

The error occurred because the identifier slicing was based on the
`type` element, which is not stable enough for discriminating identifier
slices according to FHIR best practices. Switching the discriminator to
`system` aligns with the standard approach and resolves the validation
failures.

**Closes #50**
@niccoreyes niccoreyes linked an issue Jan 21, 2026 that may be closed by this pull request
@niccoreyes

Copy link
Copy Markdown
Collaborator Author

HOLD MERGE, I believe what is causing the massive size could be the gh-pages branch

@niccoreyes

Copy link
Copy Markdown
Collaborator Author

Cancel this branch.
Just recommend git clone --depth 1 https://github.com/UPM-NTHC/PH-RoadSafetyIG for future commits

@niccoreyes

Copy link
Copy Markdown
Collaborator Author

Cancel this branch. Just recommend git clone --depth 1 https://github.com/UPM-NTHC/PH-RoadSafetyIG for future commits

@niccoreyes niccoreyes closed this Jan 21, 2026
@niccoreyes niccoreyes self-assigned this Jan 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Massive .git folder = around 6.8 GB

3 participants