Compare commits
30 Commits
5840b58bca
...
v0.2.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
777f2b3a0d | ||
|
|
791dda3931 | ||
|
|
205f3e58a1 | ||
|
|
c5e0a7d039 | ||
|
|
3297b88035 | ||
| 18c7029f91 | |||
| 0b3ed58124 | |||
| ea9714686d | |||
| 96c7f1038e | |||
| debd34938f | |||
| 6f9ef8f32c | |||
| 9f903f8971 | |||
| e96406dd66 | |||
| 7c70cbd667 | |||
| 441ba94e45 | |||
| 56353fb6f0 | |||
| 7bfa246e8e | |||
| 575386df1b | |||
| 96448cd6f6 | |||
| 1c19dd476c | |||
| 334dc16c70 | |||
| 41ba52b5e8 | |||
| a5fbd82834 | |||
| 8137b9d6f1 | |||
| def389e7fc | |||
| 03e2f6d659 | |||
| cc8b5fb0d0 | |||
| 5bd5bdced4 | |||
| f3a7939168 | |||
| 95f596780c |
@@ -1,14 +1,16 @@
|
|||||||
name: FHIR IG CI/CD Pipeline
|
name: FHIR IG CI/CD Pipeline with Version Persistence
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ main, develop ]
|
branches: [ main, develop ]
|
||||||
|
tags:
|
||||||
|
- 'v*.*.*' # Trigger on version tags like v0.3.0
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
REGISTRY: git.dghs.gov.bd # Replace with your Gitea instance
|
REGISTRY: git.dghs.gov.bd
|
||||||
IMAGE_NAME: gitadmin/bd-core-fhir-ig # Replace with your image name
|
IMAGE_NAME: gitadmin/bd-core-fhir-ig
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-ig:
|
build-ig:
|
||||||
@@ -18,7 +20,113 @@ jobs:
|
|||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Full history for proper IG building
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Extract version from IG
|
||||||
|
id: version
|
||||||
|
run: |
|
||||||
|
# Extract version from ImplementationGuide resource
|
||||||
|
VERSION=$(grep -oP '<version value="\K[^"]+' input/bd.fhir.core.xml | head -1)
|
||||||
|
|
||||||
|
if [ -z "$VERSION" ]; then
|
||||||
|
echo "ERROR: Could not extract version from ImplementationGuide XML"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Extracted version: $VERSION"
|
||||||
|
echo "version=$VERSION" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
# Determine if this is a release build (git tag) or dev build
|
||||||
|
if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
|
||||||
|
BUILD_TYPE="release"
|
||||||
|
TAG_VERSION="${GITHUB_REF#refs/tags/v}"
|
||||||
|
|
||||||
|
# Verify tag matches IG version
|
||||||
|
if [ "$TAG_VERSION" != "$VERSION" ]; then
|
||||||
|
echo "ERROR: Git tag version ($TAG_VERSION) doesn't match IG version ($VERSION)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
BUILD_TYPE="dev"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "build_type=$BUILD_TYPE" >> $GITHUB_OUTPUT
|
||||||
|
echo "Build type: $BUILD_TYPE"
|
||||||
|
|
||||||
|
# NEW STEP: Update package-list.json BEFORE build so IG Publisher can use it
|
||||||
|
- name: Pre-build package-list.json update
|
||||||
|
run: |
|
||||||
|
VERSION="${{ steps.version.outputs.version }}"
|
||||||
|
BUILD_TYPE="${{ steps.version.outputs.build_type }}"
|
||||||
|
DATE=$(date +%Y-%m-%d)
|
||||||
|
|
||||||
|
# Only update for release builds
|
||||||
|
if [ "$BUILD_TYPE" != "release" ]; then
|
||||||
|
echo "ℹ️ Dev build - skipping package-list.json pre-build update"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "📋 Updating package-list.json before build..."
|
||||||
|
|
||||||
|
# Check if package-list.json exists
|
||||||
|
if [ ! -f "package-list.json" ]; then
|
||||||
|
echo "⚠️ package-list.json not found in repo - history.html won't be generated"
|
||||||
|
echo "Creating minimal package-list.json for this build..."
|
||||||
|
cat > package-list.json << EOF
|
||||||
|
{
|
||||||
|
"package-id": "bd.fhir.core",
|
||||||
|
"title": "Bangladesh Core FHIR Implementation Guide",
|
||||||
|
"canonical": "https://fhir.dghs.gov.bd/core",
|
||||||
|
"introduction": "Core FHIR profiles and extensions for Bangladesh healthcare",
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"version": "current",
|
||||||
|
"desc": "Continuous Integration Build (latest in version control)",
|
||||||
|
"path": "https://fhir.dghs.gov.bd/core/",
|
||||||
|
"status": "ci-build",
|
||||||
|
"current": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update package-list.json with new version
|
||||||
|
python3 << 'PYEOF'
|
||||||
|
import json
|
||||||
|
import sys
|
||||||
|
|
||||||
|
version = "$VERSION"
|
||||||
|
date = "$DATE"
|
||||||
|
|
||||||
|
with open('package-list.json', 'r') as f:
|
||||||
|
pkg_list = json.load(f)
|
||||||
|
|
||||||
|
# Check if this version already exists
|
||||||
|
version_exists = any(e['version'] == version for e in pkg_list['list'])
|
||||||
|
|
||||||
|
if not version_exists:
|
||||||
|
new_entry = {
|
||||||
|
"version": version,
|
||||||
|
"date": date,
|
||||||
|
"desc": f"Release {version}",
|
||||||
|
"path": f"https://fhir.dghs.gov.bd/core/{version}/",
|
||||||
|
"status": "trial-use",
|
||||||
|
"sequence": "STU 1"
|
||||||
|
}
|
||||||
|
# Insert after 'current' entry
|
||||||
|
pkg_list['list'].insert(1, new_entry)
|
||||||
|
|
||||||
|
with open('package-list.json', 'w') as f:
|
||||||
|
json.dump(pkg_list, f, indent=2)
|
||||||
|
|
||||||
|
print(f"✅ Added version {version} to package-list.json")
|
||||||
|
else:
|
||||||
|
print(f"ℹ️ Version {version} already exists in package-list.json")
|
||||||
|
PYEOF
|
||||||
|
|
||||||
|
echo "📋 package-list.json is ready for IG Publisher"
|
||||||
|
cat package-list.json
|
||||||
|
|
||||||
- name: Install Docker CLI
|
- name: Install Docker CLI
|
||||||
run: |
|
run: |
|
||||||
@@ -26,258 +134,274 @@ jobs:
|
|||||||
apt-get install -y docker.io
|
apt-get install -y docker.io
|
||||||
docker --version
|
docker --version
|
||||||
|
|
||||||
- name: Setup Docker Buildx
|
- name: Build FHIR IG
|
||||||
uses: docker/setup-buildx-action@v3
|
|
||||||
with:
|
|
||||||
install: true
|
|
||||||
|
|
||||||
|
|
||||||
- name: Build FHIR IG (Copy In/Out)
|
|
||||||
run: |
|
run: |
|
||||||
echo "Building FHIR IG using copy approach..."
|
echo "Building FHIR IG version ${{ steps.version.outputs.version }}..."
|
||||||
|
|
||||||
# Create a container (don't start yet)
|
|
||||||
CONTAINER_ID=$(docker create \
|
CONTAINER_ID=$(docker create \
|
||||||
hl7fhir/ig-publisher-base:latest \
|
hl7fhir/ig-publisher-base:latest \
|
||||||
/bin/bash -c "cp -r /home/publisher/ig /tmp/build && cd /tmp/build && _updatePublisher.sh -y && _genonce.sh")
|
/bin/bash -c "cp -r /home/publisher/ig /tmp/build && cd /tmp/build && _updatePublisher.sh -y && _genonce.sh")
|
||||||
|
|
||||||
echo "Container ID: $CONTAINER_ID"
|
echo "Container ID: $CONTAINER_ID"
|
||||||
|
|
||||||
# Copy all source files into the container
|
|
||||||
docker cp $(pwd)/. $CONTAINER_ID:/home/publisher/ig/
|
docker cp $(pwd)/. $CONTAINER_ID:/home/publisher/ig/
|
||||||
|
|
||||||
# Start and wait for completion
|
|
||||||
docker start -a $CONTAINER_ID
|
docker start -a $CONTAINER_ID
|
||||||
EXIT_CODE=$?
|
EXIT_CODE=$?
|
||||||
|
|
||||||
# Copy outputs back
|
# Copy outputs
|
||||||
echo "Copying outputs from container..."
|
echo "Copying outputs from container..."
|
||||||
docker cp $CONTAINER_ID:/tmp/build/output ./output || echo "Warning: No output directory"
|
docker cp $CONTAINER_ID:/tmp/build/output ./output || echo "Warning: No output directory"
|
||||||
docker cp $CONTAINER_ID:/tmp/build/fsh-generated ./fsh-generated || echo "No FSH generated files"
|
docker cp $CONTAINER_ID:/tmp/build/fsh-generated ./fsh-generated || echo "No FSH generated"
|
||||||
docker cp $CONTAINER_ID:/tmp/build/input-cache ./input-cache || echo "No input-cache"
|
docker cp $CONTAINER_ID:/tmp/build/input-cache ./input-cache || echo "No input-cache"
|
||||||
docker cp $CONTAINER_ID:/tmp/build/temp ./temp || echo "No temp directory"
|
docker cp $CONTAINER_ID:/tmp/build/temp ./temp || echo "No temp directory"
|
||||||
|
|
||||||
# Show container logs if failed
|
|
||||||
if [ $EXIT_CODE -ne 0 ]; then
|
if [ $EXIT_CODE -ne 0 ]; then
|
||||||
echo "Build failed, showing container logs:"
|
echo "Build failed, showing logs:"
|
||||||
docker logs $CONTAINER_ID
|
docker logs $CONTAINER_ID
|
||||||
|
docker rm $CONTAINER_ID
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Cleanup
|
|
||||||
docker rm $CONTAINER_ID
|
docker rm $CONTAINER_ID
|
||||||
|
|
||||||
# Verify
|
|
||||||
if [ ! -f "output/index.html" ]; then
|
if [ ! -f "output/index.html" ]; then
|
||||||
echo "ERROR: Build failed - no index.html"
|
echo "ERROR: Build failed - no index.html"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Check if history.html was generated
|
||||||
|
if [ -f "output/history.html" ]; then
|
||||||
|
echo "✅ history.html generated successfully"
|
||||||
|
else
|
||||||
|
echo "⚠️ WARNING: history.html was not generated"
|
||||||
|
echo "This usually means package-list.json was missing or invalid"
|
||||||
|
fi
|
||||||
|
|
||||||
echo "✅ Build successful!"
|
echo "✅ Build successful!"
|
||||||
|
|
||||||
- name: Verify IG Output
|
- name: Update package-feed.xml for releases
|
||||||
|
if: steps.version.outputs.build_type == 'release'
|
||||||
run: |
|
run: |
|
||||||
ls -la output/
|
VERSION="${{ steps.version.outputs.version }}"
|
||||||
if [ ! -f "output/index.html" ]; then
|
DATETIME=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
||||||
echo "ERROR: IG build failed - no index.html found"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "IG build successful!"
|
|
||||||
|
|
||||||
- name: Login to Gitea Container Registry
|
cat > update-feed.py << 'EOF'
|
||||||
if: github.ref == 'refs/heads/main'
|
import sys
|
||||||
uses: docker/login-action@v3
|
import xml.etree.ElementTree as ET
|
||||||
with:
|
|
||||||
registry: ${{ env.REGISTRY }}
|
|
||||||
username: ${{ gitea.actor }}
|
|
||||||
password: ${{ secrets.ACCESS_TOKEN_GITEA }}
|
|
||||||
|
|
||||||
- name: Extract metadata
|
version = sys.argv[1]
|
||||||
if: github.ref == 'refs/heads/main'
|
datetime_iso = sys.argv[2]
|
||||||
id: meta
|
|
||||||
uses: docker/metadata-action@v4
|
|
||||||
with:
|
|
||||||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
|
||||||
tags: |
|
|
||||||
type=ref,event=branch
|
|
||||||
type=ref,event=pr
|
|
||||||
type=sha,prefix={{branch}}-
|
|
||||||
type=raw,value=latest,enable={{is_default_branch}}
|
|
||||||
|
|
||||||
- name: Build and push Docker image
|
ET.register_namespace('', 'http://www.w3.org/2005/Atom')
|
||||||
if: github.ref == 'refs/heads/main'
|
|
||||||
uses: docker/build-push-action@v6
|
tree = ET.parse('package-feed.xml')
|
||||||
|
root = tree.getroot()
|
||||||
|
ns = {'atom': 'http://www.w3.org/2005/Atom'}
|
||||||
|
|
||||||
|
updated_elem = root.find('atom:updated', ns)
|
||||||
|
if updated_elem is not None:
|
||||||
|
updated_elem.text = datetime_iso
|
||||||
|
|
||||||
|
entry_exists = False
|
||||||
|
for entry in root.findall('atom:entry', ns):
|
||||||
|
title = entry.find('atom:title', ns)
|
||||||
|
if title is not None and version in title.text:
|
||||||
|
entry_exists = True
|
||||||
|
entry_updated = entry.find('atom:updated', ns)
|
||||||
|
if entry_updated is not None:
|
||||||
|
entry_updated.text = datetime_iso
|
||||||
|
break
|
||||||
|
|
||||||
|
if not entry_exists:
|
||||||
|
new_entry = ET.Element('{http://www.w3.org/2005/Atom}entry')
|
||||||
|
|
||||||
|
title = ET.SubElement(new_entry, '{http://www.w3.org/2005/Atom}title')
|
||||||
|
title.text = f"bd.fhir.core version {version}"
|
||||||
|
|
||||||
|
link = ET.SubElement(new_entry, '{http://www.w3.org/2005/Atom}link')
|
||||||
|
link.set('rel', 'alternate')
|
||||||
|
link.set('href', f"https://fhir.dghs.gov.bd/core/{version}/")
|
||||||
|
|
||||||
|
entry_id = ET.SubElement(new_entry, '{http://www.w3.org/2005/Atom}id')
|
||||||
|
entry_id.text = f"https://fhir.dghs.gov.bd/core/{version}/"
|
||||||
|
|
||||||
|
entry_updated = ET.SubElement(new_entry, '{http://www.w3.org/2005/Atom}updated')
|
||||||
|
entry_updated.text = datetime_iso
|
||||||
|
|
||||||
|
summary = ET.SubElement(new_entry, '{http://www.w3.org/2005/Atom}summary')
|
||||||
|
summary.text = f"Release {version} of Bangladesh Core FHIR Implementation Guide"
|
||||||
|
|
||||||
|
insert_pos = 0
|
||||||
|
for i, child in enumerate(root):
|
||||||
|
if child.tag.endswith('entry'):
|
||||||
|
insert_pos = i
|
||||||
|
break
|
||||||
|
insert_pos = i + 1
|
||||||
|
|
||||||
|
root.insert(insert_pos, new_entry)
|
||||||
|
|
||||||
|
tree.write('output/package-feed.xml', encoding='utf-8', xml_declaration=True)
|
||||||
|
print(f"✅ Updated package-feed.xml")
|
||||||
|
EOF
|
||||||
|
|
||||||
|
python3 update-feed.py "$VERSION" "$DATETIME"
|
||||||
|
|
||||||
|
# Also copy the updated package-list.json to output
|
||||||
|
cp package-list.json output/package-list.json
|
||||||
|
|
||||||
|
echo "📋 Updated registry files"
|
||||||
|
|
||||||
|
- name: Prepare deployment artifact
|
||||||
|
run: |
|
||||||
|
VERSION="${{ steps.version.outputs.version }}"
|
||||||
|
BUILD_TYPE="${{ steps.version.outputs.build_type }}"
|
||||||
|
|
||||||
|
tar -czf ig-output.tar.gz -C output .
|
||||||
|
|
||||||
|
echo "version=$VERSION" > deployment.env
|
||||||
|
echo "build_type=$BUILD_TYPE" >> deployment.env
|
||||||
|
echo "build_date=$(date -u +%Y-%m-%dT%H:%M:%SZ)" >> deployment.env
|
||||||
|
|
||||||
|
# List what's in the output
|
||||||
|
echo "📦 Output contents:"
|
||||||
|
ls -lh output/ | grep -E "(history\.html|package-list\.json|package-feed\.xml|index\.html)"
|
||||||
|
|
||||||
|
ls -lh ig-output.tar.gz
|
||||||
|
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
context: .
|
name: ig-output
|
||||||
file: ./Dockerfile.serve
|
path: |
|
||||||
push: true
|
ig-output.tar.gz
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
deployment.env
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
package-list.json
|
||||||
# cache-from: type=gha
|
package-feed.xml
|
||||||
# cache-to: type=gha,mode=max
|
retention-days: 30
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
needs: build-ig
|
needs: build-ig
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.ref == 'refs/heads/main'
|
if: (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v'))
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Download artifact
|
||||||
uses: actions/checkout@v3
|
uses: actions/download-artifact@v3
|
||||||
|
with:
|
||||||
|
name: ig-output
|
||||||
|
|
||||||
|
- name: Load deployment env
|
||||||
|
id: deploy_info
|
||||||
|
run: |
|
||||||
|
source deployment.env
|
||||||
|
echo "version=$version" >> $GITHUB_OUTPUT
|
||||||
|
echo "build_type=$build_type" >> $GITHUB_OUTPUT
|
||||||
|
echo "build_date=$build_date" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
|
echo "Deploying version: $version"
|
||||||
|
echo "Build type: $build_type"
|
||||||
|
|
||||||
- name: Deploy to server
|
- name: Deploy to server
|
||||||
uses: appleboy/ssh-action@v1.0.3
|
uses: appleboy/scp-action@v0.1.7
|
||||||
env:
|
with:
|
||||||
REGISTRY: ${{ env.REGISTRY }}
|
host: ${{ secrets.DEPLOY_HOST }}
|
||||||
IMAGE_NAME: ${{ env.IMAGE_NAME }}
|
username: ${{ secrets.DEPLOY_USER }}
|
||||||
IMAGE_TAG: latest
|
password: ${{ secrets.DEPLOY_PASSWORD }}
|
||||||
|
port: ${{ secrets.DEPLOY_PORT || 22 }}
|
||||||
|
source: "ig-output.tar.gz,deployment.env,package-list.json,package-feed.xml"
|
||||||
|
target: "/tmp/fhir-ig-deploy/"
|
||||||
|
|
||||||
|
- name: Execute deployment on server
|
||||||
|
uses: appleboy/ssh-action@v1.0.3
|
||||||
with:
|
with:
|
||||||
host: ${{ secrets.DEPLOY_HOST }}
|
host: ${{ secrets.DEPLOY_HOST }}
|
||||||
username: ${{ secrets.DEPLOY_USER }}
|
username: ${{ secrets.DEPLOY_USER }}
|
||||||
password: ${{ secrets.DEPLOY_PASSWORD }}
|
password: ${{ secrets.DEPLOY_PASSWORD }}
|
||||||
port: ${{ secrets.DEPLOY_PORT || 22 }}
|
port: ${{ secrets.DEPLOY_PORT || 22 }}
|
||||||
envs: REGISTRY,IMAGE_NAME,IMAGE_TAG
|
|
||||||
script: |
|
script: |
|
||||||
# Create deployment directory if it doesn't exist
|
|
||||||
mkdir -p /opt/fhir-ig
|
|
||||||
cd /opt/fhir-ig
|
|
||||||
|
|
||||||
# Create docker-compose.prod.yml
|
|
||||||
cat > docker-compose.prod.yml << EOF
|
|
||||||
|
|
||||||
services:
|
|
||||||
fhir-ig:
|
|
||||||
image: \${REGISTRY}/\${IMAGE_NAME}:\${IMAGE_TAG:-latest}
|
|
||||||
container_name: fhir-ig-app
|
|
||||||
restart: unless-stopped
|
|
||||||
ports:
|
|
||||||
- "80:80"
|
|
||||||
environment:
|
|
||||||
- NODE_ENV=production
|
|
||||||
networks:
|
|
||||||
- fhir-ig-network
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://127.0.0.1/health"]
|
|
||||||
interval: 30s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 3
|
|
||||||
start_period: 40s
|
|
||||||
logging:
|
|
||||||
driver: "json-file"
|
|
||||||
options:
|
|
||||||
max-size: "10m"
|
|
||||||
max-file: "3"
|
|
||||||
volumes:
|
|
||||||
- fhir-ig-logs:/var/log/nginx
|
|
||||||
|
|
||||||
networks:
|
|
||||||
fhir-ig-network:
|
|
||||||
driver: bridge
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
fhir-ig-logs:
|
|
||||||
driver: local
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Create deployment script
|
|
||||||
cat > deploy.sh << 'DEPLOY_SCRIPT'
|
|
||||||
#!/bin/bash
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Configuration
|
# Load deployment info
|
||||||
COMPOSE_FILE="docker-compose.prod.yml"
|
source /tmp/fhir-ig-deploy/deployment.env
|
||||||
SERVICE_NAME="fhir-ig"
|
|
||||||
BACKUP_DIR="/opt/backups/fhir-ig"
|
|
||||||
LOG_FILE="/var/log/fhir-ig-deploy.log"
|
|
||||||
|
|
||||||
# Create directories
|
echo "=========================================="
|
||||||
mkdir -p "$BACKUP_DIR"
|
echo "Deploying FHIR IG"
|
||||||
mkdir -p "$(dirname "$LOG_FILE")"
|
echo "Version: $version"
|
||||||
|
echo "Build Type: $build_type"
|
||||||
|
echo "Build Date: $build_date"
|
||||||
|
echo "=========================================="
|
||||||
|
|
||||||
# Logging function
|
# Create version directory structure
|
||||||
log() {
|
VERSIONS_DIR="/opt/fhir-ig/versions"
|
||||||
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE"
|
mkdir -p "$VERSIONS_DIR"
|
||||||
}
|
|
||||||
|
|
||||||
log "Starting deployment of BD Core FHIR IG..."
|
# Determine target directory
|
||||||
log "Registry: $REGISTRY"
|
if [ "$build_type" == "release" ]; then
|
||||||
log "Image: $IMAGE_NAME"
|
TARGET_DIR="$VERSIONS_DIR/$version"
|
||||||
log "Tag: $IMAGE_TAG"
|
echo "📦 Deploying release version to: $TARGET_DIR"
|
||||||
|
else
|
||||||
|
TARGET_DIR="$VERSIONS_DIR/dev"
|
||||||
|
echo "🔧 Deploying dev build to: $TARGET_DIR"
|
||||||
|
|
||||||
# Login to registry
|
echo "Cleaning old dev files..."
|
||||||
echo "$GITEA_PASSWORD" | docker login $REGISTRY -u "$GITEA_USERNAME" --password-stdin
|
rm -rf "$TARGET_DIR"/*
|
||||||
|
|
||||||
# Backup current container if it exists
|
|
||||||
if docker compose -f "$COMPOSE_FILE" ps --services --filter "status=running" | grep -q "$SERVICE_NAME"; then
|
|
||||||
log "Creating backup of current deployment..."
|
|
||||||
BACKUP_FILE="$BACKUP_DIR/backup-$(date +%Y%m%d-%H%M%S).tar.gz"
|
|
||||||
docker compose -f "$COMPOSE_FILE" exec -T "$SERVICE_NAME" tar -czf - -C /usr/share/nginx/html . > "$BACKUP_FILE" 2>/dev/null || log "Backup failed, continuing..."
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set environment variables for docker compose
|
# Create target directory
|
||||||
export REGISTRY="$REGISTRY"
|
mkdir -p "$TARGET_DIR"
|
||||||
export IMAGE_NAME="$IMAGE_NAME"
|
|
||||||
export IMAGE_TAG="$IMAGE_TAG"
|
|
||||||
|
|
||||||
# Pull the latest image
|
# Extract IG output
|
||||||
log "Pulling latest image: $REGISTRY/$IMAGE_NAME:$IMAGE_TAG..."
|
echo "Extracting IG output..."
|
||||||
docker pull "$REGISTRY/$IMAGE_NAME:$IMAGE_TAG"
|
tar -xzf /tmp/fhir-ig-deploy/ig-output.tar.gz -C "$TARGET_DIR"
|
||||||
|
|
||||||
# docker pull "\${REGISTRY}/\${IMAGE_NAME}:\${IMAGE_TAG}"
|
# Verify history.html was deployed
|
||||||
|
if [ -f "$TARGET_DIR/history.html" ]; then
|
||||||
|
echo "✅ history.html deployed successfully"
|
||||||
|
else
|
||||||
|
echo "⚠️ WARNING: history.html not found in deployment"
|
||||||
|
fi
|
||||||
|
|
||||||
# Stop and remove old container
|
cp /tmp/fhir-ig-deploy/package-list.json "$VERSIONS_DIR/package-list.json"
|
||||||
log "Stopping old container..."
|
|
||||||
docker compose -f "$COMPOSE_FILE" down || log "No existing container to stop"
|
|
||||||
|
|
||||||
# Start new container
|
# Copy package-feed.xml to root
|
||||||
log "Starting new container..."
|
cp /tmp/fhir-ig-deploy/package-feed.xml "$VERSIONS_DIR/package-feed.xml"
|
||||||
docker compose -f "$COMPOSE_FILE" up -d
|
|
||||||
|
|
||||||
# Wait for container to be healthy
|
# Update 'current' symlink for releases
|
||||||
# log "Waiting for container to become healthy..."
|
if [ "$build_type" == "release" ]; then
|
||||||
# timeout=120
|
echo "Updating 'current' symlink to point to $version"
|
||||||
# elapsed=0
|
rm -f "$VERSIONS_DIR/current"
|
||||||
# healthy=false
|
ln -sf "$version" "$VERSIONS_DIR/current"
|
||||||
|
fi
|
||||||
|
|
||||||
# while [ $elapsed -lt $timeout ]; do
|
# Ensure nginx container is running with correct config
|
||||||
# if docker compose -f "$COMPOSE_FILE" ps --format json | grep -q '"Health":"healthy"'; then
|
cd /opt/fhir-ig
|
||||||
# log "Container is healthy!"
|
|
||||||
# healthy=true
|
|
||||||
# break
|
|
||||||
# fi
|
|
||||||
# sleep 5
|
|
||||||
# elapsed=$((elapsed + 5))
|
|
||||||
# log "Waiting... ($elapsed/$timeout seconds)"
|
|
||||||
# done
|
|
||||||
|
|
||||||
# if [ "$healthy" = false ]; then
|
# Download deployment files if they don't exist
|
||||||
# log "ERROR: Container failed to become healthy within $timeout seconds"
|
if [ ! -f "docker-compose.prod.yml" ]; then
|
||||||
# docker compose -f "$COMPOSE_FILE" logs --tail=50
|
echo "ERROR: docker-compose.prod.yml not found!"
|
||||||
# log "Rolling back..."
|
echo "Please deploy the updated docker-compose.prod.yml and nginx.conf first"
|
||||||
# docker compose -f "$COMPOSE_FILE" down
|
exit 1
|
||||||
# exit 1
|
fi
|
||||||
# fi
|
|
||||||
|
|
||||||
# Cleanup old images (keep last 3 versions)
|
# Force recreate container to ensure new config/mounts are applied
|
||||||
log "Cleaning up old images..."
|
# This handles "stuck" states better than a simple restart
|
||||||
docker images "\${REGISTRY}/\${IMAGE_NAME}" --format "table {{.Repository}}:{{.Tag}}\t{{.CreatedAt}}" | tail -n +2 | sort -k2 -r | tail -n +4 | awk '{print $1}' | xargs -r docker rmi || log "No old images to clean"
|
docker compose -f docker-compose.prod.yml up -d --force-recreate fhir-ig
|
||||||
|
|
||||||
# Cleanup old backups (keep only last 5)
|
# Cleanup
|
||||||
log "Cleaning up old backups..."
|
rm -rf /tmp/fhir-ig-deploy
|
||||||
ls -t "$BACKUP_DIR"/backup-*.tar.gz 2>/dev/null | tail -n +6 | xargs -r rm || log "No old backups to clean"
|
|
||||||
|
|
||||||
log "Deployment completed successfully!"
|
echo "=========================================="
|
||||||
log "🌐 Service available at: http://$(hostname -I | awk '{print $1}')"
|
echo "✅ Deployment completed successfully!"
|
||||||
|
echo "Version $version is now available at:"
|
||||||
|
if [ "$build_type" == "release" ]; then
|
||||||
|
echo " - https://fhir.dghs.gov.bd/core/$version/"
|
||||||
|
echo " - https://fhir.dghs.gov.bd/core/$version/history.html"
|
||||||
|
echo " - https://fhir.dghs.gov.bd/core/ (current)"
|
||||||
|
else
|
||||||
|
echo " - https://fhir.dghs.gov.bd/core/dev/"
|
||||||
|
fi
|
||||||
|
echo "=========================================="
|
||||||
|
|
||||||
# Display final status
|
# List all versions
|
||||||
docker compose -f "$COMPOSE_FILE" ps
|
echo "Available versions:"
|
||||||
DEPLOY_SCRIPT
|
ls -lh "$VERSIONS_DIR" | grep -v total
|
||||||
|
|
||||||
# Make deploy script executable
|
|
||||||
chmod +x deploy.sh
|
|
||||||
|
|
||||||
# Set registry credentials
|
|
||||||
export GITEA_USERNAME="${{ gitea.actor }}"
|
|
||||||
export GITEA_PASSWORD="${{ secrets.ACCESS_TOKEN_GITEA }}"
|
|
||||||
|
|
||||||
# Execute deployment
|
|
||||||
./deploy.sh
|
|
||||||
|
|||||||
23
CHANGELOG.md
Normal file
23
CHANGELOG.md
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
|
||||||
|
## [0.2.0] – 2025-10-02
|
||||||
|
**First official draft release of BD-Core-FHIR-IG**
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **BDPatientProfile** with Bangladesh-specific identifier and address extensions.
|
||||||
|
- **BDPractitionerProfile** to capture practitioner details.
|
||||||
|
- **Identifier CodeSystem and ValueSet** including:
|
||||||
|
- National ID (NID)
|
||||||
|
- Birth Registration Number (BRN)
|
||||||
|
- Unique Health ID (UHID)
|
||||||
|
- **Bangladesh Address profile** with Division, District, Upazila, and Union levels.
|
||||||
|
- Initial **examples** for Patient and Practitioner resources.
|
||||||
|
- Configured **bd.fhir.core.xml** with canonical URL `https://fhir.dghs.gov.bd/core`.
|
||||||
|
|
||||||
|
### Notes
|
||||||
|
- This is a **pre-release draft**.
|
||||||
|
- Backward compatibility is **not guaranteed** until `1.0.0`.
|
||||||
|
- Future drafts may adjust slicing rules, bindings, and extensions.
|
||||||
|
|
||||||
|
---
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
# Multi-stage build for serving FHIR IG output
|
|
||||||
FROM nginx:alpine
|
|
||||||
|
|
||||||
# Copy the built IG output to nginx html directory
|
|
||||||
# (Uncomment and adjust the path if needed)
|
|
||||||
COPY output/ /usr/share/nginx/html/
|
|
||||||
|
|
||||||
# Copy custom nginx configuration
|
|
||||||
COPY nginx.conf /etc/nginx/nginx.conf
|
|
||||||
|
|
||||||
# Create a non-root user for security
|
|
||||||
RUN addgroup -g 1001 -S nginx-user && \
|
|
||||||
adduser -S -D -H -u 1001 -h /var/cache/nginx -s /sbin/nologin -G nginx-user -g nginx-user nginx-user
|
|
||||||
|
|
||||||
# Set proper permissions for Nginx directories
|
|
||||||
RUN chown -R nginx-user:nginx-user /usr/share/nginx/html && \
|
|
||||||
chown -R nginx-user:nginx-user /var/cache/nginx && \
|
|
||||||
chown -R nginx-user:nginx-user /var/log/nginx && \
|
|
||||||
chown -R nginx-user:nginx-user /etc/nginx/conf.d
|
|
||||||
|
|
||||||
# Fix Nginx PID permission issue
|
|
||||||
RUN mkdir -p /var/cache/nginx/run && \
|
|
||||||
chown -R nginx-user:nginx-user /var/cache/nginx/run
|
|
||||||
|
|
||||||
# Update nginx.conf to point PID to writable location
|
|
||||||
# Ensure your nginx.conf has:
|
|
||||||
# pid /var/cache/nginx/run/nginx.pid;
|
|
||||||
|
|
||||||
# Switch to non-root user
|
|
||||||
USER nginx-user
|
|
||||||
|
|
||||||
# Health check
|
|
||||||
# HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
|
||||||
# CMD curl -f http://localhost/ || exit 1
|
|
||||||
|
|
||||||
EXPOSE 80
|
|
||||||
|
|
||||||
# Start Nginx in foreground
|
|
||||||
# CMD ["nginx", "-g", "daemon off;"]
|
|
||||||
|
|
||||||
CMD ["nginx", "-g", "daemon off;", "-c", "/etc/nginx/nginx.conf"]
|
|
||||||
|
|
||||||
2
ig.ini
2
ig.ini
@@ -1,7 +1,7 @@
|
|||||||
[IG]
|
[IG]
|
||||||
# ini file for the Implementation Guide publisher
|
# ini file for the Implementation Guide publisher
|
||||||
# see comments below for instructions
|
# see comments below for instructions
|
||||||
ig = input/myig.xml
|
ig = input/bd.fhir.core.xml
|
||||||
#template = fhir.base.template#current
|
#template = fhir.base.template#current
|
||||||
template = #bd-national-template
|
template = #bd-national-template
|
||||||
#template = D:\Git\templates\ig-template-base
|
#template = D:\Git\templates\ig-template-base
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
</extension>-->
|
</extension>-->
|
||||||
<url value="https://fhir.dghs.gov.bd/core/ImplementationGuide/bd.fhir.core"/>
|
<url value="https://fhir.dghs.gov.bd/core/ImplementationGuide/bd.fhir.core"/>
|
||||||
<!-- This version will propagate to all artifacts unless the "propagate-version" extension is overridden -->
|
<!-- This version will propagate to all artifacts unless the "propagate-version" extension is overridden -->
|
||||||
<version value="0.2.0"/>
|
<version value="0.2.1"/>
|
||||||
<name value="BangladeshCoreFHIRIG"/>
|
<name value="BangladeshCoreFHIRIG"/>
|
||||||
<title value="Bangladesh Core FHIR Implementation Guide"/>
|
<title value="Bangladesh Core FHIR Implementation Guide"/>
|
||||||
<status value="active"/>
|
<status value="active"/>
|
||||||
@@ -78,9 +78,6 @@
|
|||||||
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
|
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
|
||||||
<valueCode value="trial-use"/>
|
<valueCode value="trial-use"/>
|
||||||
</extension>
|
</extension>
|
||||||
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
|
|
||||||
<valueInteger value="3"/>
|
|
||||||
</extension>
|
|
||||||
<nameUrl value="spec.html"/>
|
<nameUrl value="spec.html"/>
|
||||||
<title value="Detailed BD-Core-FHIR Specification"/>
|
<title value="Detailed BD-Core-FHIR Specification"/>
|
||||||
<generation value="markdown"/>
|
<generation value="markdown"/>
|
||||||
@@ -114,7 +111,7 @@
|
|||||||
<!-- releaselabel should be the ballot status for HL7-published IGs. -->
|
<!-- releaselabel should be the ballot status for HL7-published IGs. -->
|
||||||
<parameter>
|
<parameter>
|
||||||
<code value="releaselabel"/>
|
<code value="releaselabel"/>
|
||||||
<value value="Published by MoHFW"/>
|
<value value="Published by DGHS, MoHFW"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter>
|
<parameter>
|
||||||
<code value="find-other-resources"/>
|
<code value="find-other-resources"/>
|
||||||
@@ -153,10 +150,6 @@
|
|||||||
<code value="excludemap"/>
|
<code value="excludemap"/>
|
||||||
<value value="true"/>
|
<value value="true"/>
|
||||||
</parameter>-->
|
</parameter>-->
|
||||||
<parameter>
|
|
||||||
<code value="showsource"/>
|
|
||||||
<value value="true"/>
|
|
||||||
</parameter>
|
|
||||||
<parameter>
|
<parameter>
|
||||||
<code value="i18n-default-lang"/>
|
<code value="i18n-default-lang"/>
|
||||||
<value value="en"/>
|
<value value="en"/>
|
||||||
@@ -177,9 +170,5 @@
|
|||||||
<code value="translation-sources"/>
|
<code value="translation-sources"/>
|
||||||
<value value="input/translations-fr"/>
|
<value value="input/translations-fr"/>
|
||||||
</parameter>
|
</parameter>
|
||||||
<parameter>
|
|
||||||
<code value="fcp-approved-specification"/>
|
|
||||||
<value value="false"/>
|
|
||||||
</parameter>
|
|
||||||
</definition>
|
</definition>
|
||||||
</ImplementationGuide>
|
</ImplementationGuide>
|
||||||
@@ -5,4 +5,4 @@ Title: "ICD 11"
|
|||||||
Description: "Condition coded with ICD-11"
|
Description: "Condition coded with ICD-11"
|
||||||
|
|
||||||
* code 1..1 MS
|
* code 1..1 MS
|
||||||
* code from http://id.who.int/icd/release/11/mms (preferred)
|
* code from BDConditionICD11VS (preferred)
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ Title: "Bangladesh Immunization Reaction Code System"
|
|||||||
Description: "Codes for adverse reactions after vaccination in Bangladesh."
|
Description: "Codes for adverse reactions after vaccination in Bangladesh."
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-immunization-reaction"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-immunization-reaction"
|
||||||
* ^status = #active
|
* ^status = #active
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
* ^content = #complete
|
* ^content = #complete
|
||||||
|
|
||||||
* #NONE "No Reaction"
|
* #NONE "No Reaction"
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ Id: bd-blood-groups
|
|||||||
Title: "Bangladesh Blood Group CodeSystem"
|
Title: "Bangladesh Blood Group CodeSystem"
|
||||||
Description: "Blood group codes according to CCDS guideline"
|
Description: "Blood group codes according to CCDS guideline"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-blood-groups"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-blood-groups"
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
* ^content = #complete
|
* ^content = #complete
|
||||||
* #1 "O Positive"
|
* #1 "O Positive"
|
||||||
* #2 "O Negative"
|
* #2 "O Negative"
|
||||||
@@ -20,7 +22,7 @@ Description: "Blood group codes according to CCDS guideline"
|
|||||||
// ValueSet for BD Blood Groups
|
// ValueSet for BD Blood Groups
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
ValueSet: BDBloodGroupVS
|
ValueSet: BDBloodGroupVS
|
||||||
Id: bd-blood-group-vs
|
Id: bd-blood-group-valueset
|
||||||
Title: "Bangladesh Blood Group ValueSet"
|
Title: "Bangladesh Blood Group ValueSet"
|
||||||
Description: "Blood group value set according to CCDS guideline"
|
Description: "Blood group value set according to CCDS guideline"
|
||||||
* include codes from system BDBloodGroupCS
|
* include codes from system BDBloodGroupCS
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
CodeSystem: BDCountryListCS
|
CodeSystem: BDCountryListCS
|
||||||
Id: bd-country-list-cs
|
Id: bd-country-list
|
||||||
Title: "Nationality List"
|
Title: "Nationality List"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-country-list"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-country-list"
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
|
|
||||||
* #4 "Afghan"
|
* #4 "Afghan"
|
||||||
* #8 "Albanian"
|
* #8 "Albanian"
|
||||||
@@ -194,8 +196,8 @@ Title: "Nationality List"
|
|||||||
|
|
||||||
|
|
||||||
ValueSet: BDCountryListVS
|
ValueSet: BDCountryListVS
|
||||||
Id: bd-country-list-vs
|
Id: bd-country-list-valueset
|
||||||
Title: "Nationality ValueSet"
|
Title: "Nationality ValueSet"
|
||||||
Description: "Nationality value set"
|
Description: "Nationality value set"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-country-list"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-country-list-valueset"
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-country-list
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-country-list
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
CodeSystem: BDGeoCodesCS
|
CodeSystem: BDGeoCodesCS
|
||||||
Id: bd-geocodes-cs
|
Id: bd-geocodes
|
||||||
Title: "Bangladesh GeoCodes CodeSystem"
|
Title: "Bangladesh GeoCodes CodeSystem"
|
||||||
Description: "Bangladesh GeoCodes"
|
Description: "Bangladesh GeoCodes"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes"
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
// DIvisions
|
// DIvisions
|
||||||
* #30 "Dhaka"
|
* #30 "Dhaka"
|
||||||
* #20 "Chattogram"
|
* #20 "Chattogram"
|
||||||
@@ -1601,10 +1603,10 @@ Description: "Bangladesh GeoCodes"
|
|||||||
* #4589009077 "Sreebardi Pourasabha"
|
* #4589009077 "Sreebardi Pourasabha"
|
||||||
|
|
||||||
ValueSet: BDDivisionsVS
|
ValueSet: BDDivisionsVS
|
||||||
Id: bd-division-code-vs
|
Id: bd-division-code-valueset
|
||||||
Title: "Bangladesh Division ValueSet"
|
Title: "Bangladesh Division ValueSet"
|
||||||
Description: "Bangladesh Division Codes (only two-digit codes)"
|
Description: "Bangladesh Division Codes (only two-digit codes)"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-divisions"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-division-code-valueset"
|
||||||
|
|
||||||
// include only codes that are exactly 2 digits
|
// include only codes that are exactly 2 digits
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
||||||
@@ -1612,10 +1614,10 @@ Description: "Bangladesh Division Codes (only two-digit codes)"
|
|||||||
|
|
||||||
|
|
||||||
ValueSet: BDDistrictsVS
|
ValueSet: BDDistrictsVS
|
||||||
Id: bd-district-code-vs
|
Id: bd-district-code-valueset
|
||||||
Title: "Bangladesh district ValueSet"
|
Title: "Bangladesh district ValueSet"
|
||||||
Description: "Bangladesh district Codes (only two-digit codes)"
|
Description: "Bangladesh district Codes (only two-digit codes)"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-districts"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-district-code-valueset"
|
||||||
|
|
||||||
// include only codes that are exactly 4 digits
|
// include only codes that are exactly 4 digits
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
||||||
@@ -1623,10 +1625,10 @@ Description: "Bangladesh district Codes (only two-digit codes)"
|
|||||||
|
|
||||||
|
|
||||||
ValueSet: BDCityCorporationsVS
|
ValueSet: BDCityCorporationsVS
|
||||||
Id: bd-city-corporations-code-vs
|
Id: bd-city-corporation-code-valueset
|
||||||
Title: "Bangladesh City Corperation ValueSet"
|
Title: "Bangladesh City Corperation ValueSet"
|
||||||
Description: "Bangladesh City Corperation Codes (only two-digit codes)"
|
Description: "Bangladesh City Corperation Codes (only two-digit codes)"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-city-corporations"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-city-corporation-code-valueset"
|
||||||
|
|
||||||
// include only codes that are exactly 6 digits
|
// include only codes that are exactly 6 digits
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
||||||
@@ -1634,20 +1636,20 @@ Description: "Bangladesh City Corperation Codes (only two-digit codes)"
|
|||||||
|
|
||||||
|
|
||||||
ValueSet: BDUpazillasVS
|
ValueSet: BDUpazillasVS
|
||||||
Id: bd-upazillas-code-vs
|
Id: bd-upazilla-code-valueset
|
||||||
Title: "Bangladesh Upazila ValueSet"
|
Title: "Bangladesh Upazila ValueSet"
|
||||||
Description: "Bangladesh Upazila Codes (only two-digit codes)"
|
Description: "Bangladesh Upazila Codes (only two-digit codes)"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-upazillas"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-upazilla-code-valueset"
|
||||||
|
|
||||||
// include only codes that are exactly 8 digits
|
// include only codes that are exactly 8 digits
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
||||||
where code regex "^[0-9]{8}$"
|
where code regex "^[0-9]{8}$"
|
||||||
|
|
||||||
ValueSet: BDMunicipalitiesVS
|
ValueSet: BDMunicipalitiesVS
|
||||||
Id: bd-municipalities-code-vs
|
Id: bd-municipalities-code-valueset
|
||||||
Title: "Bangladesh Municipalities ValueSet"
|
Title: "Bangladesh Municipalities ValueSet"
|
||||||
Description: "Bangladesh Municipalities Codes (only two-digit codes)"
|
Description: "Bangladesh Municipalities Codes (only two-digit codes)"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-municipalities"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-municipalities-code-valueset"
|
||||||
|
|
||||||
// include only codes that are exactly 10 digits
|
// include only codes that are exactly 10 digits
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
//// this code systems for Identifier types
|
//// this code systems for Identifier types
|
||||||
|
|
||||||
CodeSystem: BangladeshIdentifierType
|
CodeSystem: BangladeshIdentifierType
|
||||||
Id: bangladesh-identifier-type-cs
|
Id: bd-identifier-type
|
||||||
Title: "Bangladesh Identifier Types"
|
Title: "Bangladesh Identifier Types"
|
||||||
|
Description: "Codes identifying the type of identifiers used in Bangladesh."
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type"
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
|
|
||||||
* #NID "National ID"
|
* #NID "National ID"
|
||||||
* #BRN "Birth Registration Number"
|
* #BRN "Birth Registration Number"
|
||||||
@@ -11,10 +14,10 @@ Title: "Bangladesh Identifier Types"
|
|||||||
|
|
||||||
|
|
||||||
ValueSet: BangladeshIdentifierTypeVS
|
ValueSet: BangladeshIdentifierTypeVS
|
||||||
Id: bangladesh-identifier-type-vs
|
Id: bd-identifier-type-valueset
|
||||||
Title: "Bangladesh Identifier Type"
|
Title: "Bangladesh Identifier Type"
|
||||||
Description: "Bangladesh Standard Identifier type"
|
Description: "Bangladesh Standard Identifier type"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type-valueset"
|
||||||
// * include codes from valueset http://hl7.org/fhir/ValueSet/identifier-type /// use name or uri
|
// * include codes from valueset http://hl7.org/fhir/ValueSet/identifier-type /// use name or uri
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ Title: "Bangladesh Immunization Site Code System"
|
|||||||
Description: "Codes for anatomical site of vaccine administration in Bangladesh."
|
Description: "Codes for anatomical site of vaccine administration in Bangladesh."
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-immunization-site"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-immunization-site"
|
||||||
* ^status = #active
|
* ^status = #active
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
* ^content = #complete
|
* ^content = #complete
|
||||||
|
|
||||||
* #LA "Left Arm"
|
* #LA "Left Arm"
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
CodeSystem: BDMedicationCodeSystem
|
CodeSystem: BDMedicationCodeSystem
|
||||||
Id: bd-medication-cs
|
Id: bd-medication-code
|
||||||
Title: "Bangladesh Medication Codes"
|
Title: "Bangladesh Medication Codes"
|
||||||
Description: "Bangladesh Medication Codes"
|
Description: "Bangladesh Medication Codes"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-medication-code"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-medication-code"
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
// DGDA DAR Code "Brand Name"
|
// DGDA DAR Code "Brand Name"
|
||||||
* #394-0010-030 "Tubutol" "Ethambutol"
|
* #394-0010-030 "Tubutol" "Ethambutol"
|
||||||
* #394-0011-030 "AFDCDT-2" "Isoniazid + Rifampicin"
|
* #394-0011-030 "AFDCDT-2" "Isoniazid + Rifampicin"
|
||||||
@@ -16,7 +18,7 @@ Description: "Bangladesh Medication Codes"
|
|||||||
// ValueSet for BD Medication
|
// ValueSet for BD Medication
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
ValueSet: BDMedicationVS
|
ValueSet: BDMedicationVS
|
||||||
Id: bd-medication-vs
|
Id: bd-medication-valueset
|
||||||
Title: "Bangladesh Medication ValueSet"
|
Title: "Bangladesh Medication ValueSet"
|
||||||
Description: "Bangladesh Medication ValueSet"
|
Description: "Bangladesh Medication ValueSet"
|
||||||
* include codes from system BDMedicationCodeSystem
|
* include codes from system BDMedicationCodeSystem
|
||||||
|
|||||||
@@ -34,8 +34,8 @@ Description: "Medication dose form codes according to CCDS guideline"
|
|||||||
// ValueSet for BD Medication Dose Forms
|
// ValueSet for BD Medication Dose Forms
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
ValueSet: BDMedicationDoseFormVS
|
ValueSet: BDMedicationDoseFormVS
|
||||||
Id: bd-dose-form-vs
|
Id: bd-dose-form-valueset
|
||||||
Title: "Bangladesh Medication Dose Form ValueSet"
|
Title: "Bangladesh Medication Dose Form ValueSet"
|
||||||
Description: "Medication dose form value set according to CCDS guideline"
|
Description: "Medication dose form value set according to CCDS guideline"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-dose-form-vs"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-dose-form-valueset"
|
||||||
* include codes from system BDMedicationDoseForm
|
* include codes from system BDMedicationDoseForm
|
||||||
@@ -1,83 +1,84 @@
|
|||||||
CodeSystem: BDOccupationsCS
|
CodeSystem: BDOccupationsCS
|
||||||
Id: bangladesh-occupations-cs
|
Id: bd-occupations
|
||||||
Title: "Bangladesh Occupations"
|
Title: "Bangladesh Occupations"
|
||||||
|
Description: "Occupations code system according to CCDS guideline"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-occupations"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-occupations"
|
||||||
|
|
||||||
* #1 "Physical Scientists & Related Technicians" "ভৌত বিজ্ঞানী ও এতদসংক্রান্ত টেকনিশিয়ান"
|
* #1 "Physical Scientists & Related Technicians" "ভৌত বিজ্ঞানী ও এতদসংক্রান্ত টেকনিশিয়ান"
|
||||||
* #2 "Engineering and Architects" "ইঞ্জিয়ারিং ও স্থপতি "
|
* #2 "Engineering and Architects" "ইঞ্জিয়ারিং ও স্থপতি"
|
||||||
* #3 "Engineering and Architect-related Technicians" "ইঞ্জিয়ারিং ও স্থপতি সম্পর্কিত টেকনিশিয়ান "
|
* #3 "Engineering and Architect-related Technicians" "ইঞ্জিয়ারিং ও স্থপতি সম্পর্কিত টেকনিশিয়ান"
|
||||||
* #4 "Officers of Aircraft and Ship" "বিমান ও জাহাজের কর্মকর্তা "
|
* #4 "Officers of Aircraft and Ship" "বিমান ও জাহাজের কর্মকর্তা"
|
||||||
* #5 "Biologists and Related Technicians" "জীববিজ্ঞানী ও এতদসংক্রান্ত টেকনিশিয়ান "
|
* #5 "Biologists and Related Technicians" "জীববিজ্ঞানী ও এতদসংক্রান্ত টেকনিশিয়ান"
|
||||||
* #6 "Physicians, Dentists, and Veterinarians" "চিকিৎসক, দন্ত চিকিৎসক ও পশু চিকিৎসক "
|
* #6 "Physicians, Dentists, and Veterinarians" "চিকিৎসক, দন্ত চিকিৎসক ও পশু চিকিৎসক"
|
||||||
* #7 "Nurses and Other Medical Staffs" "নার্স ও চিকিৎসক সংক্রান্ত অন্যান্য কর্মী "
|
* #7 "Nurses and Other Medical Staffs" "নার্স ও চিকিৎসক সংক্রান্ত অন্যান্য কর্মী"
|
||||||
* #8 "Statisticians, Mathematicians, System Analysts, and Related Staff" "পরিসংখ্যানবিদ, গণিতবিদ, সিস্টেম এনালিস্ট ও এতদসংক্রান্ত কর্মী "
|
* #8 "Statisticians, Mathematicians, System Analysts, and Related Staff" "পরিসংখ্যানবিদ, গণিতবিদ, সিস্টেম এনালিস্ট ও এতদসংক্রান্ত কর্মী"
|
||||||
* #9 "Economists" "অর্থনীতিবিদ"
|
* #9 "Economists" "অর্থনীতিবিদ"
|
||||||
* #10 "Accountants" "হিসাবরক্ষক"
|
* #10 "Accountants" "হিসাবরক্ষক"
|
||||||
* #12 "Judges" "বিচারক"
|
* #12 "Judges" "বিচারক"
|
||||||
* #13 "Teachers" "শিক্ষক"
|
* #13 "Teachers" "শিক্ষক"
|
||||||
* #14 "Religious Workers" "ধর্মীয় কর্মী"
|
* #14 "Religious Workers" "ধর্মীয় কর্মী"
|
||||||
* #15 "Writers, Journalists, and Related Staffs" "লেখক, সাংবাদিক ও এতদসম্পর্কিত কর্মী "
|
* #15 "Writers, Journalists, and Related Staffs" "লেখক, সাংবাদিক ও এতদসম্পর্কিত কর্মী"
|
||||||
* #16 "Painters, Photographers, and Other Creative Artists" "চিত্রশিল্পী, ফটোগ্রাফার ও এতদসংক্রান্ত সৃজনশীল শিল্পী "
|
* #16 "Painters, Photographers, and Other Creative Artists" "চিত্রশিল্পী, ফটোগ্রাফার ও এতদসংক্রান্ত সৃজনশীল শিল্পী"
|
||||||
* #17 "Actors, Singers, and Dancers" "অভিনয়, কণ্ঠশিল্পী ও নৃত্যশিল্পী "
|
* #17 "Actors, Singers, and Dancers" "অভিনয়, কণ্ঠশিল্পী ও নৃত্যশিল্পী"
|
||||||
* #18 "Sportspersons and Related Staffs" "খেলোয়াড় এবং এতদসম্পর্কিত কর্মী "
|
* #18 "Sportspersons and Related Staffs" "খেলোয়াড় এবং এতদসম্পর্কিত কর্মী"
|
||||||
* #19 "Professional, Technical, and Other Related Workers (not elsewhere classified)" "পেশাগত, কারিগরি ও অন্যান্য অশ্রেণীভুক্ত এতদসম্পর্কিত কর্মী "
|
* #19 "Professional, Technical, and Other Related Workers (not elsewhere classified)" "পেশাগত, কারিগরি ও অন্যান্য অশ্রেণীভুক্ত এতদসম্পর্কিত কর্মী"
|
||||||
* #20 "Lawyers" "আইনজীবী"
|
* #20 "Lawyers" "আইনজীবী"
|
||||||
* #21 "Managers" "ম্যানেজার"
|
* #21 "Managers" "ম্যানেজার"
|
||||||
* #30 "Government Executive Officers" "সরকারি নির্বাহী কর্মকর্তা "
|
* #30 "Government Executive Officers" "সরকারি নির্বাহী কর্মকর্তা"
|
||||||
* #31 "Clerks" "করণিক (কেরানী)"
|
* #31 "Clerks" "করণিক (কেরানী)"
|
||||||
* #32 "Typists, Stenographers and Computer Operators" "টাইপিস্ট/স্টেনোগ্রাফার/কম্পিউটার অপারেটর"
|
* #32 "Typists, Stenographers and Computer Operators" "টাইপিস্ট/স্টেনোগ্রাফার/কম্পিউটার অপারেটর"
|
||||||
* #33 "Record Keepers, Cahiers and Related Staffs" "রেকর্ড কিপার, ক্যাশিয়ার ও এতদসম্পর্কিত কর্মী"
|
* #33 "Record Keepers, Cahiers and Related Staffs" "রেকর্ড কিপার, ক্যাশিয়ার ও এতদসম্পর্কিত কর্মী"
|
||||||
* #34 "Computer Professionals and Associate Staffs" "কম্পিউটার সম্পর্কিত কর্মী "
|
* #34 "Computer Professionals and Associate Staffs" "কম্পিউটার সম্পর্কিত কর্মী"
|
||||||
* #35 "Transport and Communication Supervisors" "যানবাহন ও যোগাযোগ তত্ত্বাবধায়ক "
|
* #35 "Transport and Communication Supervisors" "যানবাহন ও যোগাযোগ তত্ত্বাবধায়ক"
|
||||||
* #36 "Drivers and Conductors (Mechanical and Manual)" "গাড়িচালক ও কন্টাক্টর (যান্ত্রিক ও কায়িক) "
|
* #36 "Drivers and Conductors (Mechanical and Manual)" "গাড়িচালক ও কন্টাক্টর (যান্ত্রিক ও কায়িক)"
|
||||||
* #37 "Mail Carriers / Postmen" "চিঠিপত্র বিলি (ডাক পিয়ন) "
|
* #37 "Mail Carriers / Postmen" "চিঠিপত্র বিলি (ডাক পিয়ন)"
|
||||||
* #38 "Telephone and Telegraph Operators" "টেলিফোন ও টেলিগ্রাফ অপারেটর"
|
* #38 "Telephone and Telegraph Operators" "টেলিফোন ও টেলিগ্রাফ অপারেটর"
|
||||||
* #39 "Clerical Work, Not Elsewhere Classified" "অশ্রেণীভুক্ত দাপ্তরিক কাজ "
|
* #39 "Clerical Work, Not Elsewhere Classified" "অশ্রেণীভুক্ত দাপ্তরিক কাজ"
|
||||||
* #40 "Managers in Wholesale and Retail Trade" "ম্যানেজার (পাইকারি ও খুচরা ব্যাবসা) "
|
* #40 "Managers in Wholesale and Retail Trade" "ম্যানেজার (পাইকারি ও খুচরা ব্যাবসা)"
|
||||||
* #42 "Sales Supervisors" "বিক্রয় তত্ত্বাবধায়ক"
|
* #42 "Sales Supervisors" "বিক্রয় তত্ত্বাবধায়ক"
|
||||||
* #43 "Travel Attendants and Related Workers" "ভ্রমণ সংক্রান্ত কাজে নিয়োজিত কর্মী "
|
* #43 "Travel Attendants and Related Workers" "ভ্রমণ সংক্রান্ত কাজে নিয়োজিত কর্মী"
|
||||||
* #44 "Salespersons in Insurance, Real Estate, Business, and Related Services" "বীমা, রিয়েল এস্টেট, ব্যাবসা এবং এতদসংক্রান্ত সেবা বিক্রেতা "
|
* #44 "Salespersons in Insurance, Real Estate, Business, and Related Services" "বীমা, রিয়েল এস্টেট, ব্যাবসা এবং এতদসংক্রান্ত সেবা বিক্রেতা"
|
||||||
* #45 "Street and Market Salespersons" "ফেরিওয়ালা "
|
* #45 "Street and Market Salespersons" "ফেরিওয়ালা"
|
||||||
* #46 "Sales Workers, Not Elsewhere Classified" "অশ্রেণীভুক্ত বিক্রয়কর্মী "
|
* #46 "Sales Workers, Not Elsewhere Classified" "অশ্রেণীভুক্ত বিক্রয়কর্মী"
|
||||||
* #50 "Hotel and Lodging Managers" "আবাসিক হোটেল ম্যানেজার "
|
* #50 "Hotel and Lodging Managers" "আবাসিক হোটেল ম্যানেজার"
|
||||||
* #51 "Hotel Proprietors" "হোটেল মালিক "
|
* #51 "Hotel Proprietors" "হোটেল মালিক"
|
||||||
* #52 "Residential Hotel Supervisors" "আবাসিক হোটেল তত্ত্বাবধায়ক"
|
* #52 "Residential Hotel Supervisors" "আবাসিক হোটেল তত্ত্বাবধায়ক"
|
||||||
* #53 "Cooks, Waiters, and Related Hotel Workers" "বাবুর্চি, হোটেল বয় ও এতদসম্পর্কিত কর্মী "
|
* #53 "Cooks, Waiters, and Related Hotel Workers" "বাবুর্চি, হোটেল বয় ও এতদসম্পর্কিত কর্মী"
|
||||||
* #54 "Unclassified Housemaids" "অশ্রেণীভুক্ত গৃহ পরিচারিকা "
|
* #54 "Unclassified Housemaids" "অশ্রেণীভুক্ত গৃহ পরিচারিকা"
|
||||||
* #55 "Caretakers, Janitors, and Related Domestic Workers" "বাড়ির কেয়ারটেকার, ঝাড়ুদার ও এতদসম্পর্কিত কর্মী "
|
* #55 "Caretakers, Janitors, and Related Domestic Workers" "বাড়ির কেয়ারটেকার, ঝাড়ুদার ও এতদসম্পর্কিত কর্মী"
|
||||||
* #56 "Laundry Workers" "ধোপা "
|
* #56 "Laundry Workers" "ধোপা"
|
||||||
* #58 "Security Guards" "নিরাপত্তা কর্মী "
|
* #58 "Security Guards" "নিরাপত্তা কর্মী"
|
||||||
* #59 "Unclassified Service Workers" "অশ্রেণীভুক্ত সেবা কর্মী "
|
* #59 "Unclassified Service Workers" "অশ্রেণীভুক্ত সেবা কর্মী"
|
||||||
* #60 "Agricultural Farm Managers and Supervisors" "কৃষিখামার ব্যবস্থাপক ও তত্ত্বাবধায়ক "
|
* #60 "Agricultural Farm Managers and Supervisors" "কৃষিখামার ব্যবস্থাপক ও তত্ত্বাবধায়ক"
|
||||||
* #61 "Crop and Livestock Farmers" "কৃষিকাজ "
|
* #61 "Crop and Livestock Farmers" "কৃষিকাজ"
|
||||||
* #63 "Forestry Workers" "বন কর্মী "
|
* #63 "Forestry Workers" "বন কর্মী"
|
||||||
* #64 "Fishers, Hunters, and Related Workers" "জেলে, শিকারি ও এতদসম্পর্কিত কর্মী "
|
* #64 "Fishers, Hunters, and Related Workers" "জেলে, শিকারি ও এতদসম্পর্কিত কর্মী"
|
||||||
* #70 "Production Supervisors and Foremen" "উৎপাদন তত্ত্বাবধায়ক ও ফোরম্যান "
|
* #70 "Production Supervisors and Foremen" "উৎপাদন তত্ত্বাবধায়ক ও ফোরম্যান"
|
||||||
* #71 "Miners and Quarry Workers" "খননকর্মী ও খননকারী "
|
* #71 "Miners and Quarry Workers" "খননকর্মী ও খননকারী"
|
||||||
* #72 "Metal Processing and Finishing Workers" "ধাতু প্রক্রিয়াকারী "
|
* #72 "Metal Processing and Finishing Workers" "ধাতু প্রক্রিয়াকারী"
|
||||||
* #74 "Chemical Products Processing Workers" "রাসায়নিক দ্রব্য প্রক্রিয়াকারী "
|
* #74 "Chemical Products Processing Workers" "রাসায়নিক দ্রব্য প্রক্রিয়াকারী"
|
||||||
* #75 "Weavers, Knitters, Dyers, and Related Textile Workers" "তাঁতী, কাপড় বোনা ও রং করা "
|
* #75 "Weavers, Knitters, Dyers, and Related Textile Workers" "তাঁতী, কাপড় বোনা ও রং করা"
|
||||||
* #76 "Tanners and Leather Processing Workers" "চামড়া প্রক্রিয়াকারী "
|
* #76 "Tanners and Leather Processing Workers" "চামড়া প্রক্রিয়াকারী"
|
||||||
* #77 "Food and Beverage Processing Plant Operators" "খাদ্য ও পানীয় প্রক্রিয়াকারী "
|
* #77 "Food and Beverage Processing Plant Operators" "খাদ্য ও পানীয় প্রক্রিয়াকারী"
|
||||||
* #78 "Tobacco Preparers and Tobacco Processing Workers" "তামাক প্রক্রিয়াকারী "
|
* #78 "Tobacco Preparers and Tobacco Processing Workers" "তামাক প্রক্রিয়াকারী"
|
||||||
* #79 "Tailors, Dressmakers, and Sewing Workers" "দর্জি ও অন্যান্য সেলাই কর্মী "
|
* #79 "Tailors, Dressmakers, and Sewing Workers" "দর্জি ও অন্যান্য সেলাই কর্মী"
|
||||||
* #80 "Footwear and Leather Goods Makers" "জুতা ও চামড়াজাত দ্রব্য প্রস্তুতকারী "
|
* #80 "Footwear and Leather Goods Makers" "জুতা ও চামড়াজাত দ্রব্য প্রস্তুতকারী"
|
||||||
* #81 "Carpenters" "কাঠমিস্ত্রি "
|
* #81 "Carpenters" "কাঠমিস্ত্রি"
|
||||||
* #82 "Stone Cutters and Processing Workers" "পাথর কাটা ও প্রক্রিয়াকারী "
|
* #82 "Stone Cutters and Processing Workers" "পাথর কাটা ও প্রক্রিয়াকারী"
|
||||||
* #83 "Blacksmiths, Toolmakers, and Related Trades Workers" "কর্মকার, ঢালাইকর্মী ও যন্ত্রাংশ প্রস্তুতকারী "
|
* #83 "Blacksmiths, Toolmakers, and Related Trades Workers" "কর্মকার, ঢালাইকর্মী ও যন্ত্রাংশ প্রস্তুতকারী"
|
||||||
* #84 "Non-Electrical Machine Operators" "বৈদ্যুতিক ব্যতীত অন্যান্য মেশিনকর্মী "
|
* #84 "Non-Electrical Machine Operators" "বৈদ্যুতিক ব্যতীত অন্যান্য মেশিনকর্মী"
|
||||||
* #85 "Electricians" "বৈদ্যুতিক কর্মী"
|
* #85 "Electricians" "বৈদ্যুতিক কর্মী"
|
||||||
* #86 "Broadcasting and Audio-Visual Technicians" "শব্দ প্রচার কর্মী ও চলচ্চিত্র প্রদর্শনকারী "
|
* #86 "Broadcasting and Audio-Visual Technicians" "শব্দ প্রচার কর্মী ও চলচ্চিত্র প্রদর্শনকারী"
|
||||||
* #87 "Water and Sewerage Construction Workers and Welders" "পানি ও পয়োঃ নিষ্কাশন কাঠামো নির্মাণকারী ও ধাতু ঝালাইকারী "
|
* #87 "Water and Sewerage Construction Workers and Welders" "পানি ও পয়োঃ নিষ্কাশন কাঠামো নির্মাণকারী ও ধাতু ঝালাইকারী"
|
||||||
* #88 "Jewellery and Precious Metal Workers" "স্বর্ণকার "
|
* #88 "Jewellery and Precious Metal Workers" "স্বর্ণকার"
|
||||||
* #89 "Glass, Pottery, and Related Trades Workers" "গ্লাস ও মাটির জিনিস প্রস্তুতকারী "
|
* #89 "Glass, Pottery, and Related Trades Workers" "গ্লাস ও মাটির জিনিস প্রস্তুতকারী"
|
||||||
* #90 "Rubber and Plastic Products Makers" "রাবার ও প্লাস্টিক দ্রব্য প্রস্তুতকারী"
|
* #90 "Rubber and Plastic Products Makers" "রাবার ও প্লাস্টিক দ্রব্য প্রস্তুতকারী"
|
||||||
* #91 "Paper and Paperboard Products Workers" "কাগজ ও কাগজের বোর্ড প্রস্তুতকারী "
|
* #91 "Paper and Paperboard Products Workers" "কাগজ ও কাগজের বোর্ড প্রস্তুতকারী"
|
||||||
* #92 "Printers and Related Workers" "মুদ্রণকাজ"
|
* #92 "Printers and Related Workers" "মুদ্রণকাজ"
|
||||||
|
|
||||||
ValueSet: BDOccupationsVS
|
ValueSet: BDOccupationsVS
|
||||||
Id: bd-occupations-vs
|
Id: bd-occupations-valueset
|
||||||
Title: "Bangladesh Occupations ValueSet"
|
Title: "Bangladesh Occupations ValueSet"
|
||||||
Description: "Occupations value set according to CCDS guideline"
|
Description: "Occupations value set according to CCDS guideline"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-occupations"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-occupations-valueset"
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-occupations
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-occupations
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
//codeSystems/bd-regions.fsh
|
//codeSystems/bd-regions.fsh
|
||||||
CodeSystem: BDReligionsCS
|
CodeSystem: BDReligionsCS
|
||||||
Id: bangladesh-religions-cs
|
Id: bd-religions
|
||||||
Title: "Bangladesh Religions"
|
Title: "Bangladesh Religions"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-religions"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-religions"
|
||||||
|
|
||||||
@@ -13,8 +13,8 @@ Title: "Bangladesh Religions"
|
|||||||
* #0 "Other (specify)" "Other religion (to be specified in free text)"
|
* #0 "Other (specify)" "Other religion (to be specified in free text)"
|
||||||
|
|
||||||
ValueSet: BDReligionsVS
|
ValueSet: BDReligionsVS
|
||||||
Id: bd-religions-vs
|
Id: bd-religions-valueset
|
||||||
Title: "Bangladesh Religions ValueSet"
|
Title: "Bangladesh Religions ValueSet"
|
||||||
Description: "Religions value set according to CCDS guideline"
|
Description: "Religions value set according to CCDS guideline"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-religions"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-religions-valueset"
|
||||||
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-religions
|
* include codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-religions
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ Title: "Bangladesh Vaccine Code System"
|
|||||||
Description: "Vaccine codes used in Bangladesh EPI and immunization program."
|
Description: "Vaccine codes used in Bangladesh EPI and immunization program."
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-vaccine-code"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-vaccine-code"
|
||||||
* ^status = #active
|
* ^status = #active
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
* ^content = #complete
|
* ^content = #complete
|
||||||
|
|
||||||
* #BCG "BCG Vaccine"
|
* #BCG "BCG Vaccine"
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ Title: "Bangladesh Immunization Route Code System"
|
|||||||
Description: "Codes for routes of vaccine administration in Bangladesh."
|
Description: "Codes for routes of vaccine administration in Bangladesh."
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-immunization-route"
|
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-immunization-route"
|
||||||
* ^status = #active
|
* ^status = #active
|
||||||
|
* ^caseSensitive = true
|
||||||
|
* ^experimental = false
|
||||||
* ^content = #complete
|
* ^content = #complete
|
||||||
|
|
||||||
* #IM "Intramuscular"
|
* #IM "Intramuscular"
|
||||||
|
|||||||
@@ -10,4 +10,4 @@ Description: "Nationality of the patient based on Bangladesh country list."
|
|||||||
|
|
||||||
// Only one value, bound to your ValueSet
|
// Only one value, bound to your ValueSet
|
||||||
* value[x] only CodeableConcept
|
* value[x] only CodeableConcept
|
||||||
* valueCodeableConcept from https://fhir.dghs.gov.bd/core/ValueSet/bd-country-list (required)
|
* valueCodeableConcept from https://fhir.dghs.gov.bd/core/ValueSet/bd-country-list-valueset (required)
|
||||||
@@ -7,5 +7,5 @@ Context: Patient
|
|||||||
|
|
||||||
// occupation using standard HL7 extension
|
// occupation using standard HL7 extension
|
||||||
* value[x] only string
|
* value[x] only string
|
||||||
* value[x] from https://fhir.dghs.gov.bd/core/ValueSet/bd-occupations (required)
|
* value[x] from https://fhir.dghs.gov.bd/core/ValueSet/bd-occupations-valueset (required)
|
||||||
|
|
||||||
|
|||||||
@@ -7,28 +7,31 @@ Description: "Profile of Encounter Bangladesh Standard"
|
|||||||
|
|
||||||
* identifier 1..*
|
* identifier 1..*
|
||||||
|
|
||||||
* status 1..1 MS
|
* status 1..1
|
||||||
* status from BDEncounterStatusSubsetVS
|
* status from BDEncounterStatusSubsetVS
|
||||||
|
* status ^short = "Encounter status in BD"
|
||||||
|
* status ^definition = "Status of patient encounter (planned, in-progress, finished, cancelled)"
|
||||||
|
|
||||||
* class 1..1 MS
|
* class 1..1
|
||||||
* class from BDEncounterClassSubsetVS
|
* class from BDEncounterClassSubsetVS
|
||||||
|
|
||||||
* subject 1..1 MS
|
* subject 1..1
|
||||||
//* subject from https://fhir.dghs.gov.bd/core/StructureDefinition/bd-patient
|
//* subject from https://fhir.dghs.gov.bd/core/StructureDefinition/bd-patient
|
||||||
|
|
||||||
* basedOn 0..1 MS
|
* basedOn 0..1 MS
|
||||||
|
//* basedOn only Reference (CarePlan or DeviceRequest or MedicationRequest or ServiceRequest)
|
||||||
|
|
||||||
* partOf 0..1 MS
|
* partOf 0..1 MS
|
||||||
|
|
||||||
* serviceProvider 1..1 MS
|
* serviceProvider 1..1
|
||||||
|
|
||||||
* participant 1..* MS
|
* participant 1..*
|
||||||
* participant.period 1..1 MS
|
* participant.period 1..1
|
||||||
|
|
||||||
* diagnosis 0..* MS
|
* diagnosis 0..* MS
|
||||||
* diagnosis.condition only Reference(BDConditionProfile)
|
* diagnosis.condition only Reference(BDConditionProfile)
|
||||||
|
|
||||||
|
|
||||||
//* admission 0..* MS
|
|
||||||
//* admission.dischargeDisposition 0..1 MS
|
|
||||||
//* encounter.admission.dischargeDisposition 0..1
|
* hospitalization.dischargeDisposition 0..1 MS
|
||||||
@@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
// @Name: Profile
|
// @Name: Profile
|
||||||
// @Description: Immunization Profile of the Bangladeshi Patient.
|
// @Description: Immunization Profile of the Bangladeshi Patient.
|
||||||
Profile: BDImmunizationProfile
|
Profile: BDImmunizationProfile
|
||||||
@@ -13,7 +11,6 @@ Description: "Bangladesh Immunization Profile"
|
|||||||
* identifier 1..*
|
* identifier 1..*
|
||||||
* identifier ^short = "Unique identifier"
|
* identifier ^short = "Unique identifier"
|
||||||
* identifier ^definition = "Unique identifier for the vaccination event"
|
* identifier ^definition = "Unique identifier for the vaccination event"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/identifier/bd-immunization"
|
|
||||||
|
|
||||||
* reasonReference 0..*
|
* reasonReference 0..*
|
||||||
* reasonReference only Reference(Condition or Observation or DiagnosticReport)
|
* reasonReference only Reference(Condition or Observation or DiagnosticReport)
|
||||||
@@ -26,7 +23,7 @@ Description: "Bangladesh Immunization Profile"
|
|||||||
* manufacturer 0..1
|
* manufacturer 0..1
|
||||||
* manufacturer ^short = "Manufacturer"
|
* manufacturer ^short = "Manufacturer"
|
||||||
* manufacturer ^definition = "Vaccine manufacturer"
|
* manufacturer ^definition = "Vaccine manufacturer"
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-organization"
|
* manufacturer only Reference(BDOrganization)
|
||||||
|
|
||||||
* lotNumber 0..1
|
* lotNumber 0..1
|
||||||
* lotNumber ^short = "Vaccine Lot Number"
|
* lotNumber ^short = "Vaccine Lot Number"
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ Patient profile for Bangladesh.
|
|||||||
* identifier[NID].system = "http://dghs.gov.bd/identifier/nid"
|
* identifier[NID].system = "http://dghs.gov.bd/identifier/nid"
|
||||||
* identifier[NID].type.coding.code = #NID
|
* identifier[NID].type.coding.code = #NID
|
||||||
// * identifier[NID].type.coding.system = "http://terminology.hl7.org/CodeSystem/v2-0203"
|
// * identifier[NID].type.coding.system = "http://terminology.hl7.org/CodeSystem/v2-0203"
|
||||||
* identifier[NID].type.coding.system = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type"
|
* identifier[NID].type.coding.system = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type-valueset"
|
||||||
* identifier[NID].type from BangladeshIdentifierTypeVS (extensible)
|
* identifier[NID].type from BangladeshIdentifierTypeVS (extensible)
|
||||||
* identifier[NID].type.text = "Organization identifier"
|
* identifier[NID].type.text = "Organization identifier"
|
||||||
// * identifier[NID].value = "Personal identifier National ID"
|
// * identifier[NID].value = "Personal identifier National ID"
|
||||||
@@ -61,7 +61,7 @@ Patient profile for Bangladesh.
|
|||||||
|
|
||||||
* identifier[BRN].system = "http://dghs.gov.bd/identifier/brn"
|
* identifier[BRN].system = "http://dghs.gov.bd/identifier/brn"
|
||||||
* identifier[BRN].type.coding.code = #BRN
|
* identifier[BRN].type.coding.code = #BRN
|
||||||
* identifier[BRN].type.coding.system = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type"
|
* identifier[BRN].type.coding.system = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type-valueset"
|
||||||
* identifier[BRN].type from BangladeshIdentifierTypeVS (extensible)
|
* identifier[BRN].type from BangladeshIdentifierTypeVS (extensible)
|
||||||
* identifier[BRN].type.text = "Organization identifier"
|
* identifier[BRN].type.text = "Organization identifier"
|
||||||
// * identifier[BRN].value = "Personal identifier Birth Registration"
|
// * identifier[BRN].value = "Personal identifier Birth Registration"
|
||||||
@@ -69,7 +69,7 @@ Patient profile for Bangladesh.
|
|||||||
|
|
||||||
* identifier[UHID].system = "http://dghs.gov.bd/identifier/uhid"
|
* identifier[UHID].system = "http://dghs.gov.bd/identifier/uhid"
|
||||||
* identifier[UHID].type.coding.code = #UHID
|
* identifier[UHID].type.coding.code = #UHID
|
||||||
* identifier[UHID].type.coding.system = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type"
|
* identifier[UHID].type.coding.system = "https://fhir.dghs.gov.bd/core/ValueSet/bd-identifier-type-valueset"
|
||||||
* identifier[UHID].type from BangladeshIdentifierTypeVS (extensible)
|
* identifier[UHID].type from BangladeshIdentifierTypeVS (extensible)
|
||||||
* identifier[UHID].type.text = "Organization identifier"
|
* identifier[UHID].type.text = "Organization identifier"
|
||||||
|
|
||||||
@@ -96,7 +96,7 @@ Patient profile for Bangladesh.
|
|||||||
|
|
||||||
// Religion using standard HL7 extension
|
// Religion using standard HL7 extension
|
||||||
* extension contains http://hl7.org/fhir/StructureDefinition/patient-religion named religion 0..1
|
* extension contains http://hl7.org/fhir/StructureDefinition/patient-religion named religion 0..1
|
||||||
* extension[religion].valueCodeableConcept from https://fhir.dghs.gov.bd/core/ValueSet/bd-religions
|
* extension[religion].valueCodeableConcept from https://fhir.dghs.gov.bd/core/ValueSet/bd-religions-valueset
|
||||||
|
|
||||||
* address 1..* MS
|
* address 1..* MS
|
||||||
* address only BDAddress
|
* address only BDAddress
|
||||||
|
|||||||
6
input/fsh/valueSets/BDConditionICD11VS.fsh
Normal file
6
input/fsh/valueSets/BDConditionICD11VS.fsh
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
ValueSet: BDConditionICD11VS
|
||||||
|
Id: bd-condition-icd11-valueset
|
||||||
|
Title: "Bangladesh ICD-11 MMS ValueSet"
|
||||||
|
Description: "ValueSet that includes the ICD-11 MMS CodeSystem for Condition.code"
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-condition-icd11-valueset"
|
||||||
|
* include codes from system http://id.who.int/icd/release/11/mms
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
// ---------- ValueSet ----------
|
// ---------- ValueSet ----------
|
||||||
ValueSet: BDEncounterClassSubsetVS
|
ValueSet: BDEncounterClassSubsetVS
|
||||||
Id: bd-encounter-class-subset-vs
|
Id: bd-encounter-class-subset
|
||||||
Title: "BD Encounter Class Subset"
|
Title: "BD Encounter Class Subset"
|
||||||
Description: "Subset of EncounterClass limited to inpatient, ambulatory, and emergency."
|
Description: "Subset of EncounterClass limited to inpatient, ambulatory, and emergency."
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-encounter-class-subset"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-encounter-class-subset"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// ---------- ValueSet ----------
|
// ---------- ValueSet ----------
|
||||||
ValueSet: BDEncounterStatusSubsetVS
|
ValueSet: BDEncounterStatusSubsetVS
|
||||||
Id: bd-encounter-status-subset-vs
|
Id: bd-encounter-status-subset
|
||||||
Title: "BD Encounter Status Subset"
|
Title: "BD Encounter Status Subset"
|
||||||
Description: "Subset of EncounterStatus limited to planned, in-progress, finished, and cancelled."
|
Description: "Subset of EncounterStatus limited to planned, in-progress, finished, and cancelled."
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-encounter-status-subset"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-encounter-status-subset"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
ValueSet: BDImmunizationReactionValueSet
|
ValueSet: BDImmunizationReactionValueSet
|
||||||
Id: bd-immunization-reaction-vs
|
Id: bd-immunization-reaction-valueset
|
||||||
Title: "Bangladesh Immunization Reaction Value Set"
|
Title: "Bangladesh Immunization Reaction Value Set"
|
||||||
Description: "Allowed vaccine reactions for immunization in Bangladesh."
|
Description: "Allowed vaccine reactions for immunization in Bangladesh."
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-immunization-reaction-valueset"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-immunization-reaction-valueset"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
ValueSet: BDImmunizationRouteVS
|
ValueSet: BDImmunizationRouteVS
|
||||||
Id: bd-immunization-route-vs
|
Id: bd-immunization-route-valueset
|
||||||
Title: "Bangladesh Immunization Route Value Set"
|
Title: "Bangladesh Immunization Route Value Set"
|
||||||
Description: "Allowed administration routes for vaccines in Bangladesh."
|
Description: "Allowed administration routes for vaccines in Bangladesh."
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-immunization-route-valueset"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-immunization-route-valueset"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
ValueSet: BDImmunizationSiteVS
|
ValueSet: BDImmunizationSiteVS
|
||||||
Id: bd-immunization-site-vs
|
Id: bd-immunization-site-valueset
|
||||||
Title: "Bangladesh Immunization Site Value Set"
|
Title: "Bangladesh Immunization Site Value Set"
|
||||||
Description: "Allowed administration sites for vaccines in Bangladesh."
|
Description: "Allowed administration sites for vaccines in Bangladesh."
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-immunization-site-valueset"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-immunization-site-valueset"
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
ValueSet: BDLanguageVS
|
ValueSet: BDLanguageVS
|
||||||
Id: bd-language-vs
|
Id: bd-language-valueset
|
||||||
Title: "Allowed Languages"
|
Title: "Allowed Languages"
|
||||||
Description: "Only English and Bengali are allowed"
|
Description: "Only English and Bengali are allowed"
|
||||||
* http://hl7.org/fhir/ValueSet/languages#en "English"
|
* urn:ietf:bcp:47#en "English"
|
||||||
* http://hl7.org/fhir/ValueSet/languages#bn "Bengali"
|
* urn:ietf:bcp:47#bn "Bengali"
|
||||||
|
|
||||||
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-language-valueset"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
ValueSet: BDVaccineVS
|
ValueSet: BDVaccineVS
|
||||||
Id: bd-vaccine-vs
|
Id: bd-vaccine-valueset
|
||||||
Title: "Bangladesh Vaccine Value Set"
|
Title: "Bangladesh Vaccine Value Set"
|
||||||
Description: "Allowed vaccines for immunization in Bangladesh."
|
Description: "Allowed vaccines for immunization in Bangladesh."
|
||||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-vaccine-valueset"
|
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-vaccine-valueset"
|
||||||
|
|||||||
BIN
input/images/bd-core-architecture.png
Normal file
BIN
input/images/bd-core-architecture.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 347 KiB |
@@ -38,4 +38,6 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
<li><a href="https://pdb.shrlive.dghs.gov.bd">SHR Dashboard</a></li>
|
||||||
|
<li><a href="https://en.info.shr.dghs.gov.bd">Learn More</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -1,10 +1,34 @@
|
|||||||
<div xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas/R5/fhir-single.xsd">
|
<div xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas/R5/fhir-single.xsd">
|
||||||
<h3>Heading 1</h3>
|
|
||||||
<p>
|
<p>
|
||||||
Some text
|
The Bangladesh Core FHIR Implementation Guide defines national base
|
||||||
|
profiles, code systems, and value sets to ensure interoperability across
|
||||||
|
digital health systems under DGHS and MoHFW.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Motivation</h3>
|
||||||
|
<p>
|
||||||
|
Bangladesh has multiple health information systems developed over the
|
||||||
|
years, including DHIS2, multiple hospital automation systems, field automation systems, and HRIS. These systems use different data
|
||||||
|
standards, which makes interoperability difficult. This guide aligns
|
||||||
|
national systems with HL7® FHIR® R4 to ensure semantic consistency and
|
||||||
|
facilitate integration with global initiatives.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3>Scope</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Patient identity management (UHID, NID, BRN)</li>
|
||||||
|
<li>Health facility and organization registry</li>
|
||||||
|
<li>Immunization, laboratory, and condition profiles</li>
|
||||||
|
<li>Terminology services (ICD-11, SNOMED subsets, local CodeSystems)</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h3>National Digital Health Architecture</h3>
|
||||||
|
<p>
|
||||||
|
The following diagram shows how FHIR-based services are integrated into
|
||||||
|
Bangladesh's national digital health architecture:
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<img src="bd-core-architecture.png" alt="Bangladesh Digital Health Architecture" style="max-width:100%; height:auto"/>
|
||||||
</p>
|
</p>
|
||||||
<h3>Heading 2</h3>
|
|
||||||
<p>
|
|
||||||
<img height="600" src="anImage.png" alt="A sample image"/>
|
|
||||||
</p>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
14
input/publication-request.json
Normal file
14
input/publication-request.json
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"package-id": "bd.fhir.core",
|
||||||
|
"version": "0.2.0",
|
||||||
|
"path": "https://fhir.dghs.gov.bd/core/0.2.0",
|
||||||
|
"mode": "working",
|
||||||
|
"status": "trial-use",
|
||||||
|
"sequence": "STU1",
|
||||||
|
"desc": "First draft release of the Bangladesh Core FHIR Implementation Guide",
|
||||||
|
"descmd": "# Bangladesh Core FHIR IG - Release 0.2.0\n\nThis is the first draft release of the Bangladesh Core FHIR Implementation Guide. It defines national base profiles, value sets, and extensions for health data interoperability in Bangladesh.\n\n## Key Features\n- Base profiles for common FHIR resources\n- National value sets and code systems\n- Extensions for Bangladesh-specific requirements\n\n## Status\nThis is a trial-use release. Implementers are encouraged to provide feedback.",
|
||||||
|
"first": true,
|
||||||
|
"category": "National Base",
|
||||||
|
"ci-build": "https://fhir.dghs.gov.bd/core/",
|
||||||
|
"package-list": "https://fhir.dghs.gov.bd/core/package-list.json"
|
||||||
|
}
|
||||||
33
package-feed.xml
Normal file
33
package-feed.xml
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||||
|
<id>https://fhir.dghs.gov.bd/core/package-feed.xml</id>
|
||||||
|
<title>Bangladesh Core FHIR IG Package Feed</title>
|
||||||
|
<subtitle>FHIR Package Feed for bd.fhir.core</subtitle>
|
||||||
|
<link rel="self" href="https://fhir.dghs.gov.bd/core/package-feed.xml"/>
|
||||||
|
<link rel="alternate" href="https://fhir.dghs.gov.bd/core/"/>
|
||||||
|
<updated>2025-10-02T00:00:00Z</updated>
|
||||||
|
<author>
|
||||||
|
<name>MIS, Directorate General of Health Services (DGHS), Bangladesh</name>
|
||||||
|
<uri>https://dghs.gov.bd</uri>
|
||||||
|
</author>
|
||||||
|
|
||||||
|
<!-- Entries will be automatically added by the CI/CD pipeline -->
|
||||||
|
<!-- Example entry structure (will be generated): -->
|
||||||
|
<!--
|
||||||
|
<entry>
|
||||||
|
<title>bd.fhir.core version 0.2.0</title>
|
||||||
|
<link rel="alternate" href="https://fhir.dghs.gov.bd/core/0.2.0/"/>
|
||||||
|
<id>https://fhir.dghs.gov.bd/core/0.2.0/</id>
|
||||||
|
<updated>2025-10-02T00:00:00Z</updated>
|
||||||
|
<summary>Release 0.2.0 of Bangladesh Core FHIR Implementation Guide</summary>
|
||||||
|
</entry>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<entry>
|
||||||
|
<title>bd.fhir.core version 0.2.0</title>
|
||||||
|
<link rel="alternate" href="https://fhir.dghs.gov.bd/core/0.2.0/"/>
|
||||||
|
<id>https://fhir.dghs.gov.bd/core/0.2.0/</id>
|
||||||
|
<updated>2025-10-02T00:00:00Z</updated>
|
||||||
|
<summary>First draft release of Bangladesh Core FHIR Implementation Guide</summary>
|
||||||
|
</entry>
|
||||||
|
</feed>
|
||||||
23
package-list.backup
Normal file
23
package-list.backup
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"package-id": "bd.fhir.core",
|
||||||
|
"title": "Bangladesh Core FHIR Implementation Guide",
|
||||||
|
"canonical": "https://fhir.dghs.gov.bd",
|
||||||
|
"introduction": "The Bangladesh Core FHIR IG defines national base profiles, value sets, and extensions for health data interoperability.",
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"version": "current",
|
||||||
|
"desc": "Continuous Integration Build (latest development version)",
|
||||||
|
"path": "https://fhir.dghs.gov.bd/build",
|
||||||
|
"status": "ci-build",
|
||||||
|
"current": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "v0.2.0",
|
||||||
|
"date": "2025-10-02",
|
||||||
|
"desc": "First draft release of the Bangladesh Core FHIR IG.",
|
||||||
|
"path": "https://fhir.dghs.gov.bd/v0.2.0",
|
||||||
|
"status": "trial-use",
|
||||||
|
"sequence": "STU 1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -1,20 +1,23 @@
|
|||||||
{
|
{
|
||||||
"package-id" : "hl7.fhir.uv.myig",
|
"package-id": "bd.fhir.core",
|
||||||
"title" : "Your User Friendly Name for MyIG Here",
|
"title": "Bangladesh Core FHIR Implementation Guide",
|
||||||
"canonical" : "http://hl7.org/fhir/uv/myig",
|
"canonical": "https://fhir.dghs.gov.bd/core/",
|
||||||
"introduction" : "The introduction that should appear in the FHIR IG registry",
|
"introduction": "The Bangladesh Core FHIR IG defines national base profiles, value sets, and extensions for health data interoperability.",
|
||||||
"list" : [{
|
"list": [
|
||||||
"version" : "current",
|
{
|
||||||
"desc" : "Continuous Integration Build (latest in version control)",
|
"version": "current",
|
||||||
"path" : "http://hl7.org/fhir/ig/HL7/myig",
|
"desc": "Continuous Integration Build (latest in development)",
|
||||||
"status" : "ci-build",
|
"path": "https://fhir.dghs.gov.bd/core/",
|
||||||
"current" : true
|
"status": "ci-build",
|
||||||
},{
|
"current": true
|
||||||
"version" : "0.1.0",
|
},
|
||||||
"date" : "2099-01-01",
|
{
|
||||||
"desc" : "Initial STU ballot (Mmm yyyy Ballot)",
|
"version": "0.2.0",
|
||||||
"path" : "http://hl7.org/fhir/yyyyMmm/myig.html",
|
"date": "2025-10-02",
|
||||||
"status" : "ballot",
|
"desc": "First draft release of the Bangladesh Core FHIR IG",
|
||||||
"sequence" : "DSTU 1"
|
"path": "https://fhir.dghs.gov.bd/core/0.2.0/",
|
||||||
}]
|
"status": "trial-use",
|
||||||
|
"sequence": "STU 1"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
12
publication-request.backup
Normal file
12
publication-request.backup
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"package-id": "bd.fhir.core",
|
||||||
|
"title": "Bangladesh Core FHIR Implementation Guide",
|
||||||
|
"canonical": "https://fhir.dghs.gov.bd",
|
||||||
|
"version": "0.2.0",
|
||||||
|
"path": "https://fhir.dghs.gov.bd",
|
||||||
|
"status": "trial-use",
|
||||||
|
"sequence": "STU 1",
|
||||||
|
"mode": "milestone",
|
||||||
|
"desc": "First draft release of the Bangladesh Core FHIR IG.",
|
||||||
|
"first": true
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user