Compare commits
167 Commits
414b5145a3
...
v0.3.0
| Author | SHA1 | Date | |
|---|---|---|---|
| e9561f15b3 | |||
| 35c504e842 | |||
| 89fe6688b7 | |||
| 870747d14a | |||
| 65758559cd | |||
| 677de56269 | |||
| 7fb7e5f73e | |||
| 15247c1170 | |||
| 3d3e0c580d | |||
| 54704c7404 | |||
| 7cffa7f5d9 | |||
| a8ada6f73b | |||
| 278864ac6d | |||
| 5619336d09 | |||
| a0f0719f9c | |||
| 49b3d72cb2 | |||
| 4813f63da5 | |||
| 04ef3b0b55 | |||
| 25f0017595 | |||
| a5e39b94d3 | |||
| 9968c28e5c | |||
| 7125b57aa2 | |||
| 958eba6c44 | |||
| fcb5002641 | |||
| b7c824b34a | |||
| e8cf5ab9be | |||
| c35bc8e8a4 | |||
| c2e7119335 | |||
| c6903044aa | |||
| aca893377c | |||
| ccf6fef643 | |||
| c80f2f3a40 | |||
| 804a7ff3d6 | |||
| db2f074cbe | |||
| 7731328402 | |||
| a5d41e88de | |||
| 5ca0ffdd86 | |||
| d82e428e24 | |||
| dc43651043 | |||
| 2fc782a082 | |||
| 2db03cd2cc | |||
| 323abf04dc | |||
| e3de38a794 | |||
| 9ed33227d3 | |||
| 8ddb62ab26 | |||
| c2be28e714 | |||
| dee47229d7 | |||
| a60c2c6c21 | |||
| b759890259 | |||
| c9cf4c5157 | |||
| 45505bd4b8 | |||
| 3e1f6979b5 | |||
| c39615ff85 | |||
| 06d3a6ef13 | |||
| 8c8b8f032c | |||
| 4d24e3f30c | |||
| 57aba6ddc6 | |||
| 665ba07e37 | |||
| 18f71a6a04 | |||
| 83ad838fc4 | |||
| 63ca3fa44f | |||
| fdca2f9c3b | |||
| 3b48bd79e2 | |||
| b620db17d5 | |||
| f2201f4da8 | |||
| b3cf356b32 | |||
| 7cb360b1d2 | |||
| 6beb9318fe | |||
| 423d1c271f | |||
| 53190dddd6 | |||
| 5205c06bab | |||
| b89620b4ed | |||
| c195390fe7 | |||
| e6cb213212 | |||
| 0bce070ae2 | |||
| 9bf4b2d457 | |||
| 68c748b06e | |||
| 2b2ec21c24 | |||
| 80c870f8a0 | |||
| 5da54fa665 | |||
| 39717d3c1d | |||
|
|
777f2b3a0d | ||
|
|
791dda3931 | ||
|
|
205f3e58a1 | ||
|
|
c5e0a7d039 | ||
|
|
3297b88035 | ||
| 18c7029f91 | |||
| 0b3ed58124 | |||
| ea9714686d | |||
| 96c7f1038e | |||
| debd34938f | |||
| 6f9ef8f32c | |||
| 9f903f8971 | |||
| e96406dd66 | |||
| 7c70cbd667 | |||
| 441ba94e45 | |||
| 56353fb6f0 | |||
| 7bfa246e8e | |||
| 575386df1b | |||
| 96448cd6f6 | |||
| 1c19dd476c | |||
| 334dc16c70 | |||
| 41ba52b5e8 | |||
| a5fbd82834 | |||
| 8137b9d6f1 | |||
| 5840b58bca | |||
| ee5e028591 | |||
| 532f5dd501 | |||
| 4c5bee4468 | |||
| 634e7e28eb | |||
| 2b5009d4f5 | |||
| f029d7c962 | |||
| f273edb121 | |||
| f6ea094d5e | |||
| 9f0019a1da | |||
| c8437dd2e1 | |||
| c691d0e46b | |||
| 32d5756d7d | |||
|
|
1a667c5f9a | ||
|
|
a3e60adc5e | ||
| 56c68be788 | |||
| e2dafa0160 | |||
| b955d14708 | |||
|
|
299009f6c9 | ||
|
|
4de0a829dc | ||
| c3983aa607 | |||
| 59b22811a2 | |||
|
|
fb43708aeb | ||
|
|
ce894013c5 | ||
|
|
1db5c0edf7 | ||
|
|
2df304d85e | ||
|
|
077877ec80 | ||
| def389e7fc | |||
|
|
67d74244b3 | ||
| 03e2f6d659 | |||
|
|
581e3a70ba | ||
|
|
455fd529c4 | ||
|
|
18d97f8d16 | ||
|
|
8ddb780c4e | ||
| 6564996858 | |||
| cc8b5fb0d0 | |||
| 5bd5bdced4 | |||
| 94b28ce78f | |||
| 6c6e2ed120 | |||
| 804668dca5 | |||
| d2b35feca7 | |||
| 23586826bb | |||
| 01951a31ca | |||
|
|
381e005976 | ||
| bd5e7517bd | |||
| 4e7aa67afb | |||
| 9dff0a48ae | |||
| f3a7939168 | |||
| 95f596780c | |||
| 4e40212905 | |||
| e29ca3f7a5 | |||
| a930b30ccd | |||
| 2e302e0ac4 | |||
| 39262c35cf | |||
| 44d5defc63 | |||
|
|
1c45affa52 | ||
| 8891af2bd9 | |||
| 0bf74590f6 | |||
| 9fa9bd0e12 | |||
| 43c0191fb2 | |||
| 4c8e55383f | |||
| 959f37daac |
659
.gitea/workflows/ci-cd.yaml
Normal file
659
.gitea/workflows/ci-cd.yaml
Normal file
@@ -0,0 +1,659 @@
|
||||
name: FHIR IG CI/CD Pipeline with Version Persistence
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*.*.*'
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
env:
|
||||
REGISTRY: git.dghs.gov.bd
|
||||
IMAGE_NAME: gitadmin/bd-core-fhir-ig
|
||||
|
||||
jobs:
|
||||
build-ig:
|
||||
runs-on: fhir-runner
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Extract version from IG
|
||||
id: version
|
||||
run: |
|
||||
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
|
||||
|
||||
if [[ "$GITHUB_REF" == refs/tags/v* ]]; then
|
||||
BUILD_TYPE="release"
|
||||
TAG_VERSION="${GITHUB_REF#refs/tags/v}"
|
||||
|
||||
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"
|
||||
|
||||
- name: Prepare package-list.json and history.xml for IG Publisher
|
||||
run: |
|
||||
VERSION="${{ steps.version.outputs.version }}"
|
||||
BUILD_TYPE="${{ steps.version.outputs.build_type }}"
|
||||
DATE=$(date +%Y-%m-%d)
|
||||
|
||||
export VERSION DATE BUILD_TYPE
|
||||
|
||||
echo "📋 Preparing package-list.json and history.xml for IG Publisher..."
|
||||
|
||||
if [ ! -f "package-list.json" ]; then
|
||||
echo "⚠️ package-list.json not found in repo root"
|
||||
echo "Creating initial package-list.json..."
|
||||
cat > package-list.json << 'PKGEOF'
|
||||
{
|
||||
"package-id": "bd.fhir.core",
|
||||
"title": "Bangladesh Core FHIR Implementation Guide",
|
||||
"canonical": "https://fhir.dghs.gov.bd/core",
|
||||
"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 in version control)",
|
||||
"path": "https://fhir.dghs.gov.bd/core/",
|
||||
"status": "ci-build",
|
||||
"current": true
|
||||
}
|
||||
]
|
||||
}
|
||||
PKGEOF
|
||||
fi
|
||||
|
||||
python3 << 'PYEOF'
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
|
||||
version = os.environ.get('VERSION', '')
|
||||
date = os.environ.get('DATE', '')
|
||||
build_type = os.environ.get('BUILD_TYPE', '')
|
||||
|
||||
with open('package-list.json', 'r', encoding='utf-8') as f:
|
||||
pkg_list = json.load(f)
|
||||
|
||||
if 'list' not in pkg_list or not isinstance(pkg_list['list'], list):
|
||||
print("ERROR: package-list.json does not contain a valid 'list' array")
|
||||
sys.exit(1)
|
||||
|
||||
current_entries = [e for e in pkg_list['list'] if e.get('version') == 'current']
|
||||
if not current_entries:
|
||||
pkg_list['list'].insert(0, {
|
||||
"version": "current",
|
||||
"desc": "Continuous Integration Build (latest in version control)",
|
||||
"path": "https://fhir.dghs.gov.bd/core/",
|
||||
"status": "ci-build",
|
||||
"current": True
|
||||
})
|
||||
|
||||
if build_type == 'release':
|
||||
version_entry = None
|
||||
for e in pkg_list['list']:
|
||||
if e.get('version') == version:
|
||||
version_entry = e
|
||||
break
|
||||
if version_entry is None:
|
||||
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_index = 1
|
||||
for i, entry in enumerate(pkg_list['list']):
|
||||
if entry.get('version') == 'current':
|
||||
insert_index = i + 1
|
||||
break
|
||||
|
||||
pkg_list['list'].insert(insert_index, new_entry)
|
||||
print(f"✅ Added version {version} to package-list.json")
|
||||
else:
|
||||
print(f"ℹ️ Version {version} already exists in package-list.json")
|
||||
else:
|
||||
print("ℹ️ Dev build - using existing package-list.json without release modification")
|
||||
|
||||
with open('package-list.json', 'w', encoding='utf-8') as f:
|
||||
json.dump(pkg_list, f, indent=2, ensure_ascii=False)
|
||||
PYEOF
|
||||
|
||||
echo "🔍 Validating package-list.json..."
|
||||
python3 -m json.tool package-list.json > /dev/null && echo "✅ Valid JSON" || (echo "❌ Invalid JSON!" && exit 1)
|
||||
|
||||
echo "📂 Ensuring package-list.json is in required locations..."
|
||||
mkdir -p input
|
||||
cp package-list.json input/package-list.json
|
||||
|
||||
echo "📝 Generating static history.xml from package-list.json..."
|
||||
mkdir -p input/pagecontent
|
||||
|
||||
python3 << 'PYEOF'
|
||||
import json
|
||||
import os
|
||||
from html import escape
|
||||
|
||||
os.makedirs('input/pagecontent', exist_ok=True)
|
||||
|
||||
with open('package-list.json', 'r', encoding='utf-8') as f:
|
||||
pkg_list = json.load(f)
|
||||
|
||||
xml = '''<?xml version="1.0" encoding="UTF-8"?>
|
||||
<div xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<p>This page provides the version history for the Bangladesh Core FHIR Implementation Guide.</p>
|
||||
|
||||
<p>For a machine-readable version history see <a href="package-list.json">package-list.json</a>.</p>
|
||||
|
||||
<p><b>Published Versions</b></p>
|
||||
|
||||
<table class="grid table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Version</th>
|
||||
<th>Date</th>
|
||||
<th>Status</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
'''
|
||||
|
||||
def version_key(v):
|
||||
try:
|
||||
return tuple(int(x) for x in v.split('.'))
|
||||
except:
|
||||
return (0,)
|
||||
|
||||
published = [
|
||||
e for e in pkg_list['list']
|
||||
if e.get('version') and e.get('version') != "current"
|
||||
]
|
||||
|
||||
# Sort newest version first
|
||||
published.sort(
|
||||
key=lambda e: version_key(e.get("version", "0.0.0")),
|
||||
reverse=True
|
||||
)
|
||||
|
||||
published_found = False
|
||||
first_row = True
|
||||
|
||||
for entry in published:
|
||||
published_found = True
|
||||
|
||||
version = escape(entry.get('version', 'Unknown'))
|
||||
date = escape(entry.get('date', 'N/A'))
|
||||
desc = escape(entry.get('desc', ''))
|
||||
path = escape(entry.get('path', '#'))
|
||||
|
||||
status_val = entry.get('status', 'unknown')
|
||||
|
||||
if status_val == "trial-use":
|
||||
status = '<span class="badge bg-info">Trial Use</span>'
|
||||
elif status_val == "normative":
|
||||
status = '<span class="badge bg-success">Normative</span>'
|
||||
else:
|
||||
status = f'<span class="badge bg-secondary">{escape(status_val)}</span>'
|
||||
|
||||
badge = '<span class="badge bg-success">Latest</span> ' if first_row else ''
|
||||
|
||||
xml += f'''
|
||||
<tr>
|
||||
<td><a href="{path}">{badge}{version}</a></td>
|
||||
<td>{date}</td>
|
||||
<td>{status}</td>
|
||||
<td>{desc}</td>
|
||||
</tr>
|
||||
'''
|
||||
|
||||
first_row = False
|
||||
|
||||
if not published_found:
|
||||
xml += '''
|
||||
<tr>
|
||||
<td colspan="4">No published versions available yet.</td>
|
||||
</tr>
|
||||
'''
|
||||
|
||||
xml += '''
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p class="lead"><b>Continuous Integration Build</b></p>
|
||||
'''
|
||||
|
||||
current_entry = None
|
||||
for entry in pkg_list['list']:
|
||||
if entry.get('version') == 'current':
|
||||
current_entry = entry
|
||||
break
|
||||
|
||||
if current_entry:
|
||||
path = escape(current_entry.get('path', pkg_list.get('canonical', '') + '/'))
|
||||
xml += f'''
|
||||
<p>The latest development build is available at:
|
||||
<a href="{path}">{path}</a></p>
|
||||
'''
|
||||
else:
|
||||
xml += '''
|
||||
<p><i>No CI build entry found in package-list.json.</i></p>
|
||||
'''
|
||||
|
||||
xml += '''
|
||||
</div>
|
||||
'''
|
||||
|
||||
with open('input/pagecontent/history.xml', 'w', encoding='utf-8') as f:
|
||||
f.write(xml)
|
||||
|
||||
print("✅ Generated static history.xml")
|
||||
print(f" File location: {os.path.abspath('input/pagecontent/history.xml')}")
|
||||
print(f" File size: {os.path.getsize('input/pagecontent/history.xml')} bytes")
|
||||
PYEOF
|
||||
|
||||
if [ -f "input/pagecontent/history.xml" ]; then
|
||||
echo "✅ Verified: history.xml exists"
|
||||
echo " First 20 lines:"
|
||||
head -20 input/pagecontent/history.xml
|
||||
else
|
||||
echo "❌ ERROR: history.xml was not created!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ Pre-build preparation complete:"
|
||||
echo " - Root: $(pwd)/package-list.json"
|
||||
echo " - Input: $(pwd)/input/package-list.json"
|
||||
echo " - History: $(pwd)/input/pagecontent/history.xml"
|
||||
echo "==============================="
|
||||
echo "PACKAGE LIST USED FOR BUILD:"
|
||||
cat package-list.json
|
||||
echo "-------------------------------"
|
||||
echo "INPUT COPY:"
|
||||
cat input/package-list.json
|
||||
echo "==============================="
|
||||
|
||||
- name: Emergency Disk Cleanup
|
||||
run: |
|
||||
echo "Disk usage before:"
|
||||
df -h
|
||||
|
||||
echo "Clearing tool cache..."
|
||||
rm -rf /opt/hostedtoolcache/* || true
|
||||
|
||||
rm -rf /usr/share/dotnet || true
|
||||
rm -rf /usr/local/lib/android || true
|
||||
rm -rf /opt/ghc || true
|
||||
rm -rf ~/.fhir/packages || true
|
||||
|
||||
echo "Disk usage after:"
|
||||
df -h
|
||||
|
||||
- name: Install Docker CLI
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y docker.io
|
||||
docker --version
|
||||
|
||||
- name: Preload previous IG package for comparison
|
||||
run: |
|
||||
echo "Detecting previous version..."
|
||||
export VERSION="${{ steps.version.outputs.version }}"
|
||||
PREV_VERSION=$(python3 <<'PY'
|
||||
import json
|
||||
import os
|
||||
|
||||
current_build = os.environ.get("VERSION")
|
||||
|
||||
with open("package-list.json") as f:
|
||||
data = json.load(f)
|
||||
|
||||
def parse(v):
|
||||
try:
|
||||
return tuple(int(x) for x in v.split("."))
|
||||
except:
|
||||
return (0,)
|
||||
|
||||
versions = [
|
||||
v["version"]
|
||||
for v in data["list"]
|
||||
if v.get("version") not in ("current", current_build)
|
||||
]
|
||||
|
||||
versions.sort(key=parse, reverse=True)
|
||||
|
||||
print(versions[0] if versions else "")
|
||||
PY
|
||||
)
|
||||
|
||||
if [ -z "$PREV_VERSION" ]; then
|
||||
echo "No previous version found. Skipping preload."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Previous version detected: $PREV_VERSION"
|
||||
|
||||
mkdir -p previous-packages
|
||||
TMPDIR=$(mktemp -d)
|
||||
|
||||
URL="https://fhir.dghs.gov.bd/core/$PREV_VERSION/package.tgz"
|
||||
|
||||
echo "Downloading $URL"
|
||||
curl -fL "$URL" -o "$TMPDIR/package.tgz"
|
||||
|
||||
mkdir -p "previous-packages/bd.fhir.core#$PREV_VERSION"
|
||||
tar -xzf "$TMPDIR/package.tgz" -C "previous-packages/bd.fhir.core#$PREV_VERSION"
|
||||
|
||||
echo "Previous package cached:"
|
||||
ls previous-packages
|
||||
|
||||
- name: Build FHIR IG
|
||||
run: |
|
||||
echo "Building FHIR IG version ${{ steps.version.outputs.version }}..."
|
||||
|
||||
CONTAINER_ID=$(docker create \
|
||||
-v $(pwd)/previous-packages:/previous-packages \
|
||||
hl7fhir/ig-publisher-base:latest \
|
||||
/bin/bash -c "
|
||||
|
||||
mkdir -p /tmp/build
|
||||
cp -r /home/publisher/ig /tmp/build/ig
|
||||
|
||||
cd /tmp/build/ig
|
||||
|
||||
rm -f package-list.json
|
||||
|
||||
_updatePublisher.sh -y
|
||||
_genonce.sh
|
||||
")
|
||||
|
||||
echo "Container ID: $CONTAINER_ID"
|
||||
|
||||
docker cp "$(pwd)/." "$CONTAINER_ID:/home/publisher/ig/"
|
||||
echo "Mounted FHIR packages:"
|
||||
ls -R previous-packages || echo "No previous packages directory"
|
||||
docker start -a "$CONTAINER_ID"
|
||||
EXIT_CODE=$?
|
||||
|
||||
echo "Copying outputs from container..."
|
||||
docker cp "$CONTAINER_ID:/tmp/build/ig/output" ./output || echo "Warning: No output directory"
|
||||
docker cp "$CONTAINER_ID:/tmp/build/ig/fsh-generated" ./fsh-generated || echo "No FSH generated"
|
||||
docker cp "$CONTAINER_ID:/tmp/build/ig/input-cache" ./input-cache || echo "No input-cache"
|
||||
docker cp "$CONTAINER_ID:/tmp/build/ig/temp" ./temp || echo "No temp directory"
|
||||
|
||||
if [ $EXIT_CODE -ne 0 ]; then
|
||||
echo "Build failed, showing logs:"
|
||||
docker logs "$CONTAINER_ID"
|
||||
docker rm "$CONTAINER_ID"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
docker rm "$CONTAINER_ID"
|
||||
|
||||
if [ ! -f "output/index.html" ]; then
|
||||
echo "ERROR: Build failed - no index.html"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "🔍 Checking for history.html..."
|
||||
if [ -f "output/history.html" ]; then
|
||||
echo "✅ history.html generated successfully!"
|
||||
echo "📄 history.html size: $(ls -lh output/history.html | awk '{print $5}')"
|
||||
else
|
||||
echo "⚠️ WARNING: history.html was NOT generated"
|
||||
echo "This might indicate an issue with the template or history.xml/package-list.json"
|
||||
fi
|
||||
echo "================================"
|
||||
echo "IG Publisher comparison log:"
|
||||
cat output/qa.compare.txt || echo "qa.compare.txt not found"
|
||||
echo "================================"
|
||||
echo "✅ Build successful!"
|
||||
|
||||
- name: Update package-feed.xml for releases
|
||||
if: steps.version.outputs.build_type == 'release'
|
||||
run: |
|
||||
VERSION="${{ steps.version.outputs.version }}"
|
||||
DATETIME=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
||||
|
||||
if [ ! -f "package-feed.xml" ]; then
|
||||
echo "⚠️ package-feed.xml not found, creating initial feed..."
|
||||
|
||||
cat > package-feed.xml <<EOF
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||
<title>bd.fhir.core</title>
|
||||
<id>https://fhir.dghs.gov.bd/core/package-feed.xml</id>
|
||||
<updated>$DATETIME</updated>
|
||||
</feed>
|
||||
EOF
|
||||
fi
|
||||
|
||||
cat > update-feed.py << 'EOF'
|
||||
import sys
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
version = sys.argv[1]
|
||||
datetime_iso = sys.argv[2]
|
||||
|
||||
ET.register_namespace('', 'http://www.w3.org/2005/Atom')
|
||||
|
||||
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 or ''):
|
||||
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("✅ Updated package-feed.xml")
|
||||
EOF
|
||||
|
||||
python3 update-feed.py "$VERSION" "$DATETIME"
|
||||
|
||||
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
|
||||
|
||||
echo "📦 Output contents:"
|
||||
ls -lh output/ | grep -E "(history\.html|package-list\.json|package-feed\.xml|index\.html)" || echo "Some files may be missing"
|
||||
|
||||
ls -lh ig-output.tar.gz
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ig-output
|
||||
path: |
|
||||
ig-output.tar.gz
|
||||
deployment.env
|
||||
package-list.json
|
||||
package-feed.xml
|
||||
retention-days: 30
|
||||
|
||||
deploy:
|
||||
needs: build-ig
|
||||
runs-on: ubuntu-latest
|
||||
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')
|
||||
|
||||
steps:
|
||||
- name: Download artifact
|
||||
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
|
||||
uses: appleboy/scp-action@v0.1.7
|
||||
with:
|
||||
host: ${{ secrets.DEPLOY_HOST }}
|
||||
username: ${{ secrets.DEPLOY_USER }}
|
||||
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:
|
||||
host: ${{ secrets.DEPLOY_HOST }}
|
||||
username: ${{ secrets.DEPLOY_USER }}
|
||||
password: ${{ secrets.DEPLOY_PASSWORD }}
|
||||
port: ${{ secrets.DEPLOY_PORT || 22 }}
|
||||
script: |
|
||||
set -e
|
||||
|
||||
source /tmp/fhir-ig-deploy/deployment.env
|
||||
|
||||
echo "=========================================="
|
||||
echo "Deploying FHIR IG"
|
||||
echo "Version: $version"
|
||||
echo "Build Type: $build_type"
|
||||
echo "Build Date: $build_date"
|
||||
echo "=========================================="
|
||||
|
||||
VERSIONS_DIR="/opt/fhir-ig/versions"
|
||||
mkdir -p "$VERSIONS_DIR"
|
||||
|
||||
if [ "$build_type" = "release" ]; then
|
||||
TARGET_DIR="$VERSIONS_DIR/$version"
|
||||
echo "📦 Deploying release version to: $TARGET_DIR"
|
||||
else
|
||||
TARGET_DIR="$VERSIONS_DIR/dev"
|
||||
echo "🔧 Deploying dev build to: $TARGET_DIR"
|
||||
mkdir -p "$TARGET_DIR"
|
||||
echo "Cleaning old dev files..."
|
||||
rm -rf "$TARGET_DIR"/*
|
||||
fi
|
||||
|
||||
mkdir -p "$TARGET_DIR"
|
||||
|
||||
echo "Extracting IG output..."
|
||||
tar -xzf /tmp/fhir-ig-deploy/ig-output.tar.gz -C "$TARGET_DIR"
|
||||
|
||||
if [ -f "$TARGET_DIR/history.html" ]; then
|
||||
echo "✅ history.html deployed successfully"
|
||||
else
|
||||
echo "⚠️ WARNING: history.html not found in deployment"
|
||||
fi
|
||||
|
||||
cp "$TARGET_DIR/package-list.json" "$VERSIONS_DIR/package-list.json"
|
||||
cp "$TARGET_DIR/package-feed.xml" "$VERSIONS_DIR/package-feed.xml"
|
||||
|
||||
cp "$TARGET_DIR/package-list.json" "/opt/fhir-ig/package-list.json"
|
||||
cp "$TARGET_DIR/package-feed.xml" "/opt/fhir-ig/package-feed.xml"
|
||||
|
||||
if [ "$build_type" = "release" ]; then
|
||||
echo "Updating 'current' symlink to point to $version"
|
||||
rm -f "$VERSIONS_DIR/current"
|
||||
ln -sf "$version" "$VERSIONS_DIR/current"
|
||||
fi
|
||||
|
||||
cd /opt/fhir-ig
|
||||
|
||||
if [ ! -f "docker-compose.prod.yml" ]; then
|
||||
echo "ERROR: docker-compose.prod.yml not found!"
|
||||
echo "Please deploy the updated docker-compose.prod.yml and nginx.conf first"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
docker compose -f docker-compose.prod.yml up -d --force-recreate fhir-ig
|
||||
|
||||
rm -rf /tmp/fhir-ig-deploy
|
||||
|
||||
echo "=========================================="
|
||||
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 "=========================================="
|
||||
|
||||
echo "Available versions:"
|
||||
ls -lh "$VERSIONS_DIR" | grep -v total
|
||||
@@ -1,23 +0,0 @@
|
||||
name: Deploy on production
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Deploy by SSH to production environment
|
||||
uses: appleboy/ssh-action@master
|
||||
with:
|
||||
host: ${{ secrets.PRODUCTION_SSH_HOST }}
|
||||
username: ${{ secrets.PRODUCTION_SSH_USERNAME }}
|
||||
password: ${{ secrets.PRODUCTION_SSH_PASSWORD }}
|
||||
port: ${{ secrets.PRODUCTION_SSH_PORT }}
|
||||
script: |
|
||||
cd /home/mishealth/BD-Core-FHIR-IG
|
||||
git pull origin main
|
||||
docker run --rm -v $(pwd):/home/publisher/ig hl7fhir/ig-publisher-base:latest /home/publisher/ig/_genonce.sh
|
||||
rsync -av output/ /var/www/html
|
||||
sudo systemctl restart nginx
|
||||
BIN
.gitignore
vendored
BIN
.gitignore
vendored
Binary file not shown.
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.
|
||||
|
||||
---
|
||||
43
README.md
43
README.md
@@ -1,14 +1,39 @@
|
||||
# sample-ig
|
||||
A sample, template-driven implementation guide that provides a starting environment to use a base for defining new IGs
|
||||
# Bangladesh Core FHIR Implementation Guide (BD-Core-FHIR-IG)
|
||||
|
||||
The **Bangladesh Core FHIR Implementation Guide (IG)** defines the national baseline for health data exchange in Bangladesh.
|
||||
It ensures that health information systems can share and understand data consistently, supporting the goals of the **Bangladesh Digital Health Blueprint**.
|
||||
|
||||
See https://build.fhir.org/ig/FHIR/sample-ig/
|
||||
👉 Published IG: [https://fhir.dghs.gov.bd](https://fhir.dghs.gov.bd)
|
||||
|
||||
---
|
||||
|
||||
## FHIR Foundation Project Statement
|
||||
## Purpose
|
||||
|
||||
* Maintainers: Grahame Grieve / Lloyd Mckenzie
|
||||
* Issues / Discussion: Use github issues
|
||||
* License: Creative Commons Public Domain
|
||||
* Contribution Policy: Make PRs. PRs have to build ok with the latest IG Publisher
|
||||
* Security Information: There should be no security issues here - it's all static content. Can report issues with the standard github repotring method
|
||||
- Provide a **national reference** for stakeholders building digital health solutions.
|
||||
- Ensure alignment with **international FHIR standards**, making future **cross-border health information exchange** possible.
|
||||
- Promote **patient-centered data exchange**, reducing duplication and improving continuity of care.
|
||||
|
||||
---
|
||||
|
||||
## Using This IG
|
||||
|
||||
- **For Health System Developers:**
|
||||
Use the defined **profiles, value sets, and code systems** in this IG when designing or integrating digital health applications. This ensures interoperability with other systems in Bangladesh and beyond.
|
||||
|
||||
- **For Policymakers and Implementers:**
|
||||
Treat this IG as the **standard reference** for system requirements, data flows, and exchange formats when planning or evaluating digital health projects.
|
||||
|
||||
- **For Vendors and Partners:**
|
||||
Align your solutions with this IG to ensure **compliance with national standards** and **seamless integration** with Bangladesh’s digital health ecosystem.
|
||||
|
||||
---
|
||||
|
||||
## Contributions
|
||||
|
||||
Feedback and contributions are welcome. Issues can be raised through this repository to suggest improvements or alignments.
|
||||
|
||||
---
|
||||
|
||||
## License
|
||||
|
||||
This project is released under the [Creative Commons Public Domain License](https://creativecommons.org/publicdomain/).
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@ h5:before{color:silver;counter-increment:detail;content:var(--heading-prefix) ".
|
||||
h6:before{color:silver;counter-increment:more-detail;content:var(--heading-prefix) "." counter(sub-section) "." counter(composite) "." counter(detail) "." counter(more-detail)" ";}
|
||||
</style>
|
||||
<div class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<h2>{{site.data.pages[page.path].title | escape_once}}</h2>
|
||||
{% assign path = page.path | split: '.html' %}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ h5:before{color:silver;counter-increment:detail;content:var(--heading-prefix) ".
|
||||
h6:before{color:silver;counter-increment:more-detail;content:var(--heading-prefix) "." counter(sub-section) "." counter(composite) "." counter(detail) "." counter(more-detail)" ";}
|
||||
</style>
|
||||
<div class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<h2>{{site.data.pages[page.path].title | escape_once}}</h2>
|
||||
{% if page.path == 'index.html' %}
|
||||
{% include fragment-igTable.html %}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
---
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='testing' %}
|
||||
<a name="root"> </a>
|
||||
<h2 id="root">{{[type]}}: {{site.data.pages[page.path].title | escape_once}}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
---
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||
<a name="root"> </a>
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
{% include fragment-pagebegin.html %}
|
||||
|
||||
<div style="counter-reset: section 10" class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='history' %}
|
||||
|
||||
<a name="root"> </a>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
---
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||
<a name="root"> </a>
|
||||
<h2 id="root">CodeSystem: {{site.data.pages[page.path].title | escape_once}}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
---
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||
<a name="root"> </a>
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
---
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||
<a name="root"> </a>
|
||||
<h2 id="root">Extension: {{site.data.pages[page.path].title | escape_once}}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
---
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
|
||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div style="counter-reset: section {{section}}" class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='{{[fmt]}}' %}
|
||||
|
||||
<a name="root"> </a>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div style="counter-reset: section 4" class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='definition' %}
|
||||
|
||||
<a name="root"> </a>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div style="counter-reset: section 6" class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='example' %}
|
||||
|
||||
<a name="root"> </a>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div style="counter-reset: section {{section}}" class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active=format %}
|
||||
|
||||
<a name="root"> </a>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
{% include fragment-pagebegin.html %}
|
||||
|
||||
<div style="counter-reset: section 10" class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='history' %}
|
||||
|
||||
<a name="root"> </a>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div style="counter-reset: section 5" class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='mapping' %}
|
||||
|
||||
<a name="root"> </a>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div style="counter-reset: section 6" class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='testing' %}
|
||||
|
||||
<a name="root"> </a>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-profile-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||
|
||||
<a name="root"> </a>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
---
|
||||
{% include fragment-pagebegin.html %}
|
||||
<div class="col-12">
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare (v0.2.0). See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
<p id="publish-box">Bangladesh Core FHIR Implementation Guide - Published by Ministry of Health and Family Welfare. See the <a href="https://fhir.dghs.gov.bd/core/history.html">Directory of published versions</a></p>
|
||||
{% include fragment-base-navtabs.html type='{{[type]}}' id='{{[id]}}' active='content' %}
|
||||
<a name="root"> </a>
|
||||
<h2 id="root">ValueSet: {{site.data.pages[page.path].title | escape_once}}
|
||||
|
||||
9
ig.ini
9
ig.ini
@@ -1,14 +1,12 @@
|
||||
[IG]
|
||||
# ini file for the Implementation Guide publisher
|
||||
# see comments below for instructions
|
||||
|
||||
ig = input/myig.xml
|
||||
ig = input/bd.fhir.core.xml
|
||||
#template = fhir.base.template#current
|
||||
template = #bd-national-template
|
||||
#template = D:\Git\templates\ig-template-base
|
||||
#template = #local-template
|
||||
|
||||
|
||||
historypage = true
|
||||
|
||||
##########################
|
||||
### ig.ini parameters: ###
|
||||
@@ -48,6 +46,3 @@ examples:
|
||||
|
||||
# for more documentation on implementation guides and templates, see the FHIR Guidance ImplementationGuide
|
||||
# http://build.fhir.org/ig/FHIR/ig-guidance
|
||||
output = /var/www/html
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
</extension>-->
|
||||
<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 -->
|
||||
<version value="0.2.0"/>
|
||||
<version value="0.3.0"/>
|
||||
<name value="BangladeshCoreFHIRIG"/>
|
||||
<title value="Bangladesh Core FHIR Implementation Guide"/>
|
||||
<status value="active"/>
|
||||
@@ -57,91 +57,8 @@
|
||||
<reference>
|
||||
<reference value="StructureDefinition/bd-patient"/>
|
||||
</reference>
|
||||
<description value="Overriding description because we can"/>
|
||||
<description value="Banlgladesh Patient Profile"/>
|
||||
</resource>
|
||||
<resource>
|
||||
<reference>
|
||||
<reference value="StructureDefinition/bd-logical"/>
|
||||
</reference>
|
||||
<description value="Logical Model"/>
|
||||
</resource>
|
||||
<resource>
|
||||
<reference>
|
||||
<reference value="Library/example-sql"/>
|
||||
</reference>
|
||||
<description value="A test example"/>
|
||||
</resource>
|
||||
<resource>
|
||||
<reference>
|
||||
<reference value="Library/example-image"/>
|
||||
</reference>
|
||||
<description value="A test image example"/>
|
||||
</resource>
|
||||
<!--<resource>
|
||||
<reference>
|
||||
<reference value="bd-logicalModel/AS"/>
|
||||
</reference>
|
||||
</resource> -->
|
||||
<resource>
|
||||
<extension url="http://hl7.org/fhir/tools/StructureDefinition/ig-example-actor">
|
||||
<valueCanonical value="https://fhir.dghs.gov.bd/core/ActorDefinition/example"/>
|
||||
</extension>
|
||||
<reference>
|
||||
<reference value="Patient/example"/>
|
||||
</reference>
|
||||
<name value="Simple patient example"/>
|
||||
<description value="A simple example showing how examples are defined and referenced"/>
|
||||
<exampleCanonical value="https://fhir.dghs.gov.bd/core/StructureDefinition/bd-patient"/>
|
||||
</resource>
|
||||
<resource>
|
||||
<reference>
|
||||
<reference value="Observation/example"/>
|
||||
</reference>
|
||||
<name value="Observation patient example"/>
|
||||
<description value="Example showing slicing"/>
|
||||
<exampleCanonical value="https://fhir.dghs.gov.bd/core/StructureDefinition/bd-observation"/>
|
||||
</resource>
|
||||
<resource>
|
||||
<reference>
|
||||
<reference value="Binary/example"/>
|
||||
</reference>
|
||||
<name value="Example binary"/>
|
||||
<description value="Example showing binary content"/>
|
||||
</resource>
|
||||
<resource>
|
||||
<extension url="http://hl7.org/fhir/StructureDefinition/implementationguide-resource-format">
|
||||
<valueCode value="application/xml"/>
|
||||
</extension>
|
||||
<reference>
|
||||
<reference value="Binary/logical-example"/>
|
||||
</reference>
|
||||
<name value="Example of Logical Model"/>
|
||||
<description value="Example showing example content for a logical model"/>
|
||||
<exampleCanonical value="https://fhir.dghs.gov.bd/core/StructureDefinition/bd-logical"/>
|
||||
</resource>
|
||||
<resource>
|
||||
<extension url="http://hl7.org/fhir/StructureDefinition/implementationguide-resource-format">
|
||||
<valueCode value="image/jpeg"/>
|
||||
</extension>
|
||||
<reference>
|
||||
<reference value="Binary/image-example"/>
|
||||
</reference>
|
||||
<name value="Example of Binary Image"/>
|
||||
<description value="Example showing example content for an image"/>
|
||||
</resource>
|
||||
<resource>
|
||||
<reference>
|
||||
<reference value="ValueSet/valueset-no-codesystem"/>
|
||||
</reference>
|
||||
<name value="Value set for no code system"/>
|
||||
</resource>
|
||||
<!-- <resource>
|
||||
<reference>
|
||||
<reference value="Library/example"/>
|
||||
</reference>
|
||||
<name value="Simple library example"/>
|
||||
<description value="A simple example showing how library is pre-loaded"/>
|
||||
</resource> -->
|
||||
<page>
|
||||
<!-- The root will always be toc.html - the template will force it if you don't do it -->
|
||||
<nameUrl value="toc.html"/>
|
||||
@@ -161,9 +78,6 @@
|
||||
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
|
||||
<valueCode value="trial-use"/>
|
||||
</extension>
|
||||
<extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
|
||||
<valueInteger value="3"/>
|
||||
</extension>
|
||||
<nameUrl value="spec.html"/>
|
||||
<title value="Detailed BD-Core-FHIR Specification"/>
|
||||
<generation value="markdown"/>
|
||||
@@ -188,6 +102,11 @@
|
||||
<title value="IG Change History"/>
|
||||
<generation value="html"/>
|
||||
</page>
|
||||
<page>
|
||||
<nameUrl value="history.html"/>
|
||||
<title value="Version History"/>
|
||||
<generation value="html"/>
|
||||
</page>
|
||||
</page>
|
||||
<!-- copyright year is a mandatory parameter -->
|
||||
<parameter>
|
||||
@@ -197,7 +116,7 @@
|
||||
<!-- releaselabel should be the ballot status for HL7-published IGs. -->
|
||||
<parameter>
|
||||
<code value="releaselabel"/>
|
||||
<value value="Published by MoHFW"/>
|
||||
<value value="Published by DGHS, MoHFW"/>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<code value="find-other-resources"/>
|
||||
@@ -236,10 +155,6 @@
|
||||
<code value="excludemap"/>
|
||||
<value value="true"/>
|
||||
</parameter>-->
|
||||
<parameter>
|
||||
<code value="showsource"/>
|
||||
<value value="true"/>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<code value="i18n-default-lang"/>
|
||||
<value value="en"/>
|
||||
@@ -260,9 +175,5 @@
|
||||
<code value="translation-sources"/>
|
||||
<value value="input/translations-fr"/>
|
||||
</parameter>
|
||||
<parameter>
|
||||
<code value="fcp-approved-specification"/>
|
||||
<value value="false"/>
|
||||
</parameter>
|
||||
</definition>
|
||||
</ImplementationGuide>
|
||||
@@ -1,17 +0,0 @@
|
||||
{
|
||||
"options":[
|
||||
"EnableAnnotations",
|
||||
"EnableLocators",
|
||||
"DisableListDemotion",
|
||||
"DisableListPromotion"
|
||||
|
||||
],
|
||||
"formats":[
|
||||
"XML",
|
||||
"JSON"
|
||||
],
|
||||
"validateUnits":true,
|
||||
"verifyOnly":false,
|
||||
"errorLevel":"Info",
|
||||
"signatureLevel":"None"
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
library example version '1.0.0'
|
||||
|
||||
using FHIR version '4.0.1'
|
||||
|
||||
include fhir.cqf.common.FHIRHelpers version '4.0.1'
|
||||
|
||||
codesystem "Observation Category Codes": 'http://terminology.hl7.org/CodeSystem/observation-category'
|
||||
|
||||
valueset "Encounter Inpatient": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.666.5.307'
|
||||
valueset "Emergency Department Visit": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.117.1.7.1.292'
|
||||
valueset "Telephone Evaluation": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1082'
|
||||
valueset "Telephone Management": 'http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.113883.3.464.1003.101.12.1053'
|
||||
|
||||
valueset "COVID-19 Screening Result": 'TBD'
|
||||
|
||||
code "Laboratory Observation Category": 'laboratory' from "Observation Category Codes"
|
||||
|
||||
parameter "Measurement Period" Interval<DateTime>
|
||||
|
||||
context Patient
|
||||
|
||||
define "Inpatient, Emergency, or Telephone Evaluation or Management Encounter":
|
||||
(
|
||||
[Encounter: "Encounter Inpatient"]
|
||||
union [Encounter: "Emergency Department Visit"]
|
||||
union [Encounter: "Telephone Evaluation"]
|
||||
union [Encounter: "Telephone Management"]
|
||||
) Encounter
|
||||
where Encounter.status = 'finished'
|
||||
and Encounter.period during "Measurement Period"
|
||||
|
||||
define "Initial Population":
|
||||
exists ("Inpatient, Emergency, or Telephone Evaluation or Management Encounter")
|
||||
|
||||
define "Denominator":
|
||||
true
|
||||
|
||||
define "COVID-19 Communicable Disease Screening":
|
||||
[Observation: "COVID-19 Screening Result"] Result
|
||||
where exists (Result.category C where C ~ "Laboratory Observation Category")
|
||||
and Result.status in { 'final', 'amended', 'corrected' }
|
||||
and Result.effective during "Measurement Period"
|
||||
|
||||
define "Numerator":
|
||||
exists ("COVID-19 Communicable Disease Screening")
|
||||
Binary file not shown.
@@ -1,3 +0,0 @@
|
||||
library notincluded
|
||||
|
||||
// Example library that doesn't get included, so results in a missed warning
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
"resourceType" : "Binary",
|
||||
"id" : "example",
|
||||
"data" : "ig-loader-example.pdf"
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 30 KiB |
@@ -1,4 +0,0 @@
|
||||
<MyLogical xmlns="http://example.org/logical">
|
||||
<element1 value="1"/>
|
||||
<element2 value="This is a string">Text</element2>
|
||||
</MyLogical>
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"resourceType" : "Library",
|
||||
"id": "example",
|
||||
"url" : "http://somewhere.org/fhir/uv/myig/Library/example",
|
||||
"version" : "1.0.0",
|
||||
"name": "Example",
|
||||
"title": "Example CQL Library",
|
||||
"status" : "draft",
|
||||
"experimental": true,
|
||||
"description": "Some example library",
|
||||
"type" : {
|
||||
"coding" : [{
|
||||
"system" : "http://terminology.hl7.org/CodeSystem/library-type",
|
||||
"code" : "logic-library"
|
||||
}]
|
||||
},
|
||||
"subjectCodeableConcept": {
|
||||
"coding": [{
|
||||
"system": "http://hl7.org/fhir/resource-types",
|
||||
"code": "Patient"
|
||||
}]
|
||||
},
|
||||
"content" : [{
|
||||
"id" : "ig-loader-example.cql"
|
||||
}]
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
test comment for display
|
||||
|
||||
-->
|
||||
|
||||
<Observation xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas/R4/fhir-single.xsd">
|
||||
<id value="example"/>
|
||||
<meta>
|
||||
<profile value="http://somewhere.org/fhir/uv/myig/StructureDefinition/myObservation"/>
|
||||
</meta>
|
||||
<status value="final"/>
|
||||
<subject>
|
||||
<reference value="http://somewhere.else.org/pas/server/Patient/example"/>
|
||||
</subject>
|
||||
<code>
|
||||
<coding>
|
||||
<system value="http://somewhere.org/fhir/uv/myig/CodeSystem/cs-fake"/>
|
||||
<code value="01"/>
|
||||
<display value="CS1"/>
|
||||
</coding>
|
||||
<coding>
|
||||
<system value="http://somewhere.org/fhir/uv/myig/CodeSystem/cs-fake"/>
|
||||
<code value="01"/>
|
||||
<display value="CS2"/>
|
||||
</coding>
|
||||
<coding>
|
||||
<system value="http://somewhere.org/fhir/uv/myig/CodeSystem/cs-fake"/>
|
||||
<code value="01"/>
|
||||
<display value="VS1"/>
|
||||
</coding>
|
||||
<coding>
|
||||
<system value="http://loinc.org"/>
|
||||
<code value="85354-9"/>
|
||||
</coding>
|
||||
<coding>
|
||||
<system value="http://somewhere.org/fhir/uv/myig/CodeSystem/cs-fake"/>
|
||||
<code value="01"/>
|
||||
<display value="VS2"/>
|
||||
</coding>
|
||||
</code>
|
||||
<component>
|
||||
<code>
|
||||
<coding>
|
||||
<system value="http://loinc.org"/>
|
||||
<code value="8480-6"/>
|
||||
</coding>
|
||||
</code>
|
||||
<valueQuantity>
|
||||
<value value="1"/>
|
||||
<system value="http://unitsofmeasure.org"/>
|
||||
<code value="mm[Hg]"/>
|
||||
</valueQuantity>
|
||||
</component>
|
||||
<component>
|
||||
<code>
|
||||
<coding>
|
||||
<system value="http://loinc.org"/>
|
||||
<code value="8462-4"/>
|
||||
</coding>
|
||||
</code>
|
||||
<valueQuantity>
|
||||
<value value="1"/>
|
||||
<system value="http://unitsofmeasure.org"/>
|
||||
<code value="mm[Hg]"/>
|
||||
</valueQuantity>
|
||||
</component>
|
||||
</Observation>
|
||||
@@ -1,45 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
|
||||
test comment for display
|
||||
|
||||
-->
|
||||
|
||||
<Patient xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas/R4/fhir-single.xsd">
|
||||
<id value="example"/>
|
||||
<meta>
|
||||
<profile value="http://somewhere.org/fhir/uv/myig/StructureDefinition/mypatient"/>
|
||||
</meta>
|
||||
<extension url="http://somewhere.org/fhir/uv/myig/StructureDefinition/ext-myExtension">
|
||||
<valueBoolean value="false"/>
|
||||
</extension>
|
||||
<name>
|
||||
<use value="usual"/>
|
||||
<family value="Smith"/>
|
||||
<given value="Jack"/>
|
||||
</name>
|
||||
<name>
|
||||
<use value="official"/>
|
||||
<family value="Smith"/>
|
||||
<given value="John"/>
|
||||
<given value="Jacob"/>
|
||||
<given value="Jingleheimer"/>
|
||||
<period>
|
||||
<end value="2001-01-01"/>
|
||||
</period>
|
||||
</name>
|
||||
<name>
|
||||
<use value="official"/>
|
||||
<family value="Smith"/>
|
||||
<given value="John"/>
|
||||
<given value="Jacob"/>
|
||||
<given value="Jingleheimer"/>
|
||||
<period>
|
||||
<start value="2001-01-01"/>
|
||||
</period>
|
||||
</name>
|
||||
<birthDate value="2018-09-07"/>
|
||||
<maritalStatus>
|
||||
<text value="Married"/>
|
||||
</maritalStatus>
|
||||
</Patient>
|
||||
22
input/fsh/codeSystems/BBImmunizationReactionCS.fsh
Normal file
22
input/fsh/codeSystems/BBImmunizationReactionCS.fsh
Normal file
@@ -0,0 +1,22 @@
|
||||
CodeSystem: BDImmunizationReactionCS
|
||||
Id: bd-immunization-reaction
|
||||
Title: "Bangladesh Immunization Reaction Code System"
|
||||
Description: "Codes for adverse reactions after vaccination in Bangladesh."
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-immunization-reaction"
|
||||
* ^status = #active
|
||||
* ^caseSensitive = true
|
||||
* ^experimental = false
|
||||
* ^content = #complete
|
||||
|
||||
* #NONE "No Reaction"
|
||||
"No adverse reaction observed after vaccination."
|
||||
* #FEVER "Fever"
|
||||
"Elevated body temperature following vaccination."
|
||||
* #SWELLING "Swelling"
|
||||
"Local swelling at the injection site."
|
||||
* #RASH "Rash"
|
||||
"Generalized or localized rash after vaccination."
|
||||
* #ANAPHYLAXIS "Anaphylaxis"
|
||||
"Severe immediate allergic reaction following vaccination."
|
||||
* #OTHER "Other Reaction"
|
||||
"Any other adverse reaction not categorized above."
|
||||
@@ -6,6 +6,8 @@ Id: bd-blood-groups
|
||||
Title: "Bangladesh Blood Group CodeSystem"
|
||||
Description: "Blood group codes according to CCDS guideline"
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-blood-groups"
|
||||
* ^caseSensitive = true
|
||||
* ^experimental = false
|
||||
* ^content = #complete
|
||||
* #1 "O Positive"
|
||||
* #2 "O Negative"
|
||||
@@ -20,7 +22,7 @@ Description: "Blood group codes according to CCDS guideline"
|
||||
// ValueSet for BD Blood Groups
|
||||
// ---------------------------
|
||||
ValueSet: BDBloodGroupVS
|
||||
Id: bd-blood-group-vs
|
||||
Id: bd-blood-group-valueset
|
||||
Title: "Bangladesh Blood Group ValueSet"
|
||||
Description: "Blood group value set according to CCDS guideline"
|
||||
* include codes from system BDBloodGroupCS
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
CodeSystem: BDCountryListCS
|
||||
Id: bd-country-list-cs
|
||||
Id: bd-country-list
|
||||
Title: "Nationality List"
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-country-list"
|
||||
* ^caseSensitive = true
|
||||
* ^experimental = false
|
||||
|
||||
* #4 "Afghan"
|
||||
* #8 "Albanian"
|
||||
@@ -194,8 +196,8 @@ Title: "Nationality List"
|
||||
|
||||
|
||||
ValueSet: BDCountryListVS
|
||||
Id: bd-country-list-vs
|
||||
Id: bd-country-list-valueset
|
||||
Title: "Nationality ValueSet"
|
||||
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
|
||||
@@ -1,8 +1,10 @@
|
||||
CodeSystem: BDGeoCodesCS
|
||||
Id: bd-geocodes-cs
|
||||
Title: "Bangladesh Address Codes"
|
||||
Description: "Bangladesh Address Codes"
|
||||
Id: bd-geocodes
|
||||
Title: "Bangladesh GeoCodes CodeSystem"
|
||||
Description: "Bangladesh GeoCodes"
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes"
|
||||
* ^caseSensitive = true
|
||||
* ^experimental = false
|
||||
// DIvisions
|
||||
* #30 "Dhaka"
|
||||
* #20 "Chattogram"
|
||||
@@ -1601,10 +1603,10 @@ Description: "Bangladesh Address Codes"
|
||||
* #4589009077 "Sreebardi Pourasabha"
|
||||
|
||||
ValueSet: BDDivisionsVS
|
||||
Id: bd-division-code-vs
|
||||
Id: bd-division-code-valueset
|
||||
Title: "Bangladesh Division ValueSet"
|
||||
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 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
|
||||
Id: bd-district-code-vs
|
||||
Id: bd-district-code-valueset
|
||||
Title: "Bangladesh district ValueSet"
|
||||
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 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
|
||||
Id: bd-city-corporations-code-vs
|
||||
Id: bd-city-corporation-code-valueset
|
||||
Title: "Bangladesh City Corperation ValueSet"
|
||||
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 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
|
||||
Id: bd-upazillas-code-vs
|
||||
Id: bd-upazilla-code-valueset
|
||||
Title: "Bangladesh Upazila ValueSet"
|
||||
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 codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
||||
where code regex "^[0-9]{8}$"
|
||||
|
||||
ValueSet: BDMunicipalitiesVS
|
||||
Id: bd-municipalities-code-vs
|
||||
Id: bd-municipalities-code-valueset
|
||||
Title: "Bangladesh Municipalities ValueSet"
|
||||
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 codes from system https://fhir.dghs.gov.bd/core/CodeSystem/bd-geocodes
|
||||
|
||||
@@ -1,20 +1,23 @@
|
||||
//// this code systems for Identifier types
|
||||
|
||||
CodeSystem: BangladeshIdentifierType
|
||||
Id: bangladesh-identifier-type-cs
|
||||
Id: bd-identifier-type
|
||||
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"
|
||||
* ^caseSensitive = true
|
||||
* ^experimental = false
|
||||
|
||||
* #TYPE_NID "National ID"
|
||||
* #TYPE_BRN "Birth Registration Number"
|
||||
* #TYPE_UID "Unique ID"
|
||||
* #NID "National ID"
|
||||
* #BRN "Birth Registration Number"
|
||||
* #UHID "Unique Health ID"
|
||||
|
||||
|
||||
ValueSet: BangladeshIdentifierTypeVS
|
||||
Id: bangladesh-identifier-type-vs
|
||||
Id: bd-identifier-type-valueset
|
||||
Title: "Bangladesh 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 system https://fhir.dghs.gov.bd/core/CodeSystem/bd-identifier-type
|
||||
|
||||
20
input/fsh/codeSystems/BDImmunizationSiteCS.fsh
Normal file
20
input/fsh/codeSystems/BDImmunizationSiteCS.fsh
Normal file
@@ -0,0 +1,20 @@
|
||||
CodeSystem: BDImmunizationSiteCS
|
||||
Id: bd-immunization-site
|
||||
Title: "Bangladesh Immunization Site Code System"
|
||||
Description: "Codes for anatomical site of vaccine administration in Bangladesh."
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-immunization-site"
|
||||
* ^status = #active
|
||||
* ^caseSensitive = true
|
||||
* ^experimental = false
|
||||
* ^content = #complete
|
||||
|
||||
* #LA "Left Arm"
|
||||
"Vaccine administered in the left arm (intramuscular or subcutaneous)."
|
||||
* #RA "Right Arm"
|
||||
"Vaccine administered in the right arm."
|
||||
* #LT "Left Thigh"
|
||||
"Vaccine administered in the left thigh."
|
||||
* #RT "Right Thigh"
|
||||
"Vaccine administered in the right thigh."
|
||||
* #ORAL "Oral"
|
||||
"Vaccine administered orally (e.g., OPV, Rotavirus)."
|
||||
24
input/fsh/codeSystems/BDMedicationCodeSystem.fsh
Normal file
24
input/fsh/codeSystems/BDMedicationCodeSystem.fsh
Normal file
@@ -0,0 +1,24 @@
|
||||
CodeSystem: BDMedicationCodeSystem
|
||||
Id: bd-medication-code
|
||||
Title: "Bangladesh Medication Codes"
|
||||
Description: "Bangladesh Medication Codes"
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-medication-code"
|
||||
* ^caseSensitive = true
|
||||
* ^experimental = false
|
||||
// DGDA DAR Code "Brand Name"
|
||||
* #394-0010-030 "Tubutol" "Ethambutol"
|
||||
* #394-0011-030 "AFDCDT-2" "Isoniazid + Rifampicin"
|
||||
* #394-0012-030 "AFDCDT-3" "Isoniazid + Pyrazinamide + Rifampicin"
|
||||
* #394-0017-046 "Levetiracetam 250" "Levetiracetam"
|
||||
* #394-0021-028 "Donepezil Hydrochloride 5" "Donepezil Hydrochloride"
|
||||
* #355-0065-023 "Cefufine" "Cefuroxime"
|
||||
|
||||
|
||||
// ---------------------------
|
||||
// ValueSet for BD Medication
|
||||
// ---------------------------
|
||||
ValueSet: BDMedicationVS
|
||||
Id: bd-medication-valueset
|
||||
Title: "Bangladesh Medication ValueSet"
|
||||
Description: "Bangladesh Medication ValueSet"
|
||||
* include codes from system BDMedicationCodeSystem
|
||||
41
input/fsh/codeSystems/BDMedicationForm.fsh
Normal file
41
input/fsh/codeSystems/BDMedicationForm.fsh
Normal file
@@ -0,0 +1,41 @@
|
||||
// ---------------------------
|
||||
// CodeSystem for BD Medication Dose Forms
|
||||
// ---------------------------
|
||||
CodeSystem: BDMedicationDoseForm
|
||||
Id: bd-dose-form
|
||||
Title: "Bangladesh Medication Dose Form CodeSystem"
|
||||
Description: "Medication dose form codes according to CCDS guideline"
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-dose-form"
|
||||
* ^content = #complete
|
||||
|
||||
* #TAB "Tablet"
|
||||
"Solid oral dosage form, usually uncoated or coated, intended for swallowing."
|
||||
* #DTAB "Dispersible Tablet"
|
||||
"Tablet designed to be dissolved/dispersed in water before administration."
|
||||
* #CAP "Capsule"
|
||||
"Solid dosage form with active ingredients enclosed in a gelatin shell."
|
||||
* #SYP "Syrup"
|
||||
"Liquid oral dosage form containing active substance(s) in solution."
|
||||
* #SUSP "Suspension"
|
||||
"Liquid oral dosage form with insoluble particles dispersed in a liquid."
|
||||
* #PFS "Powder for Suspension"
|
||||
"Powder that requires reconstitution into a liquid suspension before use."
|
||||
* #INJ "Injection"
|
||||
"Sterile solution or suspension intended for parenteral administration."
|
||||
* #SOL "Solution"
|
||||
"Liquid dosage form where drug is fully dissolved in a solvent."
|
||||
* #CRM "Cream"
|
||||
"Semi-solid topical dosage form containing the drug in an emulsion base."
|
||||
* #LOT "Lotion"
|
||||
"Low-viscosity liquid topical dosage form for external application."
|
||||
|
||||
|
||||
// ---------------------------
|
||||
// ValueSet for BD Medication Dose Forms
|
||||
// ---------------------------
|
||||
ValueSet: BDMedicationDoseFormVS
|
||||
Id: bd-dose-form-valueset
|
||||
Title: "Bangladesh Medication Dose Form ValueSet"
|
||||
Description: "Medication dose form value set according to CCDS guideline"
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-dose-form-valueset"
|
||||
* include codes from system BDMedicationDoseForm
|
||||
@@ -1,83 +1,84 @@
|
||||
CodeSystem: BDOccupationsCS
|
||||
Id: bangladesh-occupations-cs
|
||||
Id: bd-occupations
|
||||
Title: "Bangladesh Occupations"
|
||||
Description: "Occupations code system according to CCDS guideline"
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-occupations"
|
||||
|
||||
* #1 "Physical Scientists & Related Technicians" "ভৌত বিজ্ঞানী ও এতদসংক্রান্ত টেকনিশিয়ান"
|
||||
* #2 "Engineering and Architects" "ইঞ্জিয়ারিং ও স্থপতি "
|
||||
* #3 "Engineering and Architect-related Technicians" "ইঞ্জিয়ারিং ও স্থপতি সম্পর্কিত টেকনিশিয়ান "
|
||||
* #4 "Officers of Aircraft and Ship" "বিমান ও জাহাজের কর্মকর্তা "
|
||||
* #5 "Biologists and Related Technicians" "জীববিজ্ঞানী ও এতদসংক্রান্ত টেকনিশিয়ান "
|
||||
* #6 "Physicians, Dentists, and Veterinarians" "চিকিৎসক, দন্ত চিকিৎসক ও পশু চিকিৎসক "
|
||||
* #7 "Nurses and Other Medical Staffs" "নার্স ও চিকিৎসক সংক্রান্ত অন্যান্য কর্মী "
|
||||
* #8 "Statisticians, Mathematicians, System Analysts, and Related Staff" "পরিসংখ্যানবিদ, গণিতবিদ, সিস্টেম এনালিস্ট ও এতদসংক্রান্ত কর্মী "
|
||||
* #2 "Engineering and Architects" "ইঞ্জিয়ারিং ও স্থপতি"
|
||||
* #3 "Engineering and Architect-related Technicians" "ইঞ্জিয়ারিং ও স্থপতি সম্পর্কিত টেকনিশিয়ান"
|
||||
* #4 "Officers of Aircraft and Ship" "বিমান ও জাহাজের কর্মকর্তা"
|
||||
* #5 "Biologists and Related Technicians" "জীববিজ্ঞানী ও এতদসংক্রান্ত টেকনিশিয়ান"
|
||||
* #6 "Physicians, Dentists, and Veterinarians" "চিকিৎসক, দন্ত চিকিৎসক ও পশু চিকিৎসক"
|
||||
* #7 "Nurses and Other Medical Staffs" "নার্স ও চিকিৎসক সংক্রান্ত অন্যান্য কর্মী"
|
||||
* #8 "Statisticians, Mathematicians, System Analysts, and Related Staff" "পরিসংখ্যানবিদ, গণিতবিদ, সিস্টেম এনালিস্ট ও এতদসংক্রান্ত কর্মী"
|
||||
* #9 "Economists" "অর্থনীতিবিদ"
|
||||
* #10 "Accountants" "হিসাবরক্ষক"
|
||||
* #12 "Judges" "বিচারক"
|
||||
* #13 "Teachers" "শিক্ষক"
|
||||
* #14 "Religious Workers" "ধর্মীয় কর্মী"
|
||||
* #15 "Writers, Journalists, and Related Staffs" "লেখক, সাংবাদিক ও এতদসম্পর্কিত কর্মী "
|
||||
* #16 "Painters, Photographers, and Other Creative Artists" "চিত্রশিল্পী, ফটোগ্রাফার ও এতদসংক্রান্ত সৃজনশীল শিল্পী "
|
||||
* #17 "Actors, Singers, and Dancers" "অভিনয়, কণ্ঠশিল্পী ও নৃত্যশিল্পী "
|
||||
* #18 "Sportspersons and Related Staffs" "খেলোয়াড় এবং এতদসম্পর্কিত কর্মী "
|
||||
* #19 "Professional, Technical, and Other Related Workers (not elsewhere classified)" "পেশাগত, কারিগরি ও অন্যান্য অশ্রেণীভুক্ত এতদসম্পর্কিত কর্মী "
|
||||
* #15 "Writers, Journalists, and Related Staffs" "লেখক, সাংবাদিক ও এতদসম্পর্কিত কর্মী"
|
||||
* #16 "Painters, Photographers, and Other Creative Artists" "চিত্রশিল্পী, ফটোগ্রাফার ও এতদসংক্রান্ত সৃজনশীল শিল্পী"
|
||||
* #17 "Actors, Singers, and Dancers" "অভিনয়, কণ্ঠশিল্পী ও নৃত্যশিল্পী"
|
||||
* #18 "Sportspersons and Related Staffs" "খেলোয়াড় এবং এতদসম্পর্কিত কর্মী"
|
||||
* #19 "Professional, Technical, and Other Related Workers (not elsewhere classified)" "পেশাগত, কারিগরি ও অন্যান্য অশ্রেণীভুক্ত এতদসম্পর্কিত কর্মী"
|
||||
* #20 "Lawyers" "আইনজীবী"
|
||||
* #21 "Managers" "ম্যানেজার"
|
||||
* #30 "Government Executive Officers" "সরকারি নির্বাহী কর্মকর্তা "
|
||||
* #30 "Government Executive Officers" "সরকারি নির্বাহী কর্মকর্তা"
|
||||
* #31 "Clerks" "করণিক (কেরানী)"
|
||||
* #32 "Typists, Stenographers and Computer Operators" "টাইপিস্ট/স্টেনোগ্রাফার/কম্পিউটার অপারেটর"
|
||||
* #33 "Record Keepers, Cahiers and Related Staffs" "রেকর্ড কিপার, ক্যাশিয়ার ও এতদসম্পর্কিত কর্মী"
|
||||
* #34 "Computer Professionals and Associate Staffs" "কম্পিউটার সম্পর্কিত কর্মী "
|
||||
* #35 "Transport and Communication Supervisors" "যানবাহন ও যোগাযোগ তত্ত্বাবধায়ক "
|
||||
* #36 "Drivers and Conductors (Mechanical and Manual)" "গাড়িচালক ও কন্টাক্টর (যান্ত্রিক ও কায়িক) "
|
||||
* #37 "Mail Carriers / Postmen" "চিঠিপত্র বিলি (ডাক পিয়ন) "
|
||||
* #34 "Computer Professionals and Associate Staffs" "কম্পিউটার সম্পর্কিত কর্মী"
|
||||
* #35 "Transport and Communication Supervisors" "যানবাহন ও যোগাযোগ তত্ত্বাবধায়ক"
|
||||
* #36 "Drivers and Conductors (Mechanical and Manual)" "গাড়িচালক ও কন্টাক্টর (যান্ত্রিক ও কায়িক)"
|
||||
* #37 "Mail Carriers / Postmen" "চিঠিপত্র বিলি (ডাক পিয়ন)"
|
||||
* #38 "Telephone and Telegraph Operators" "টেলিফোন ও টেলিগ্রাফ অপারেটর"
|
||||
* #39 "Clerical Work, Not Elsewhere Classified" "অশ্রেণীভুক্ত দাপ্তরিক কাজ "
|
||||
* #40 "Managers in Wholesale and Retail Trade" "ম্যানেজার (পাইকারি ও খুচরা ব্যাবসা) "
|
||||
* #39 "Clerical Work, Not Elsewhere Classified" "অশ্রেণীভুক্ত দাপ্তরিক কাজ"
|
||||
* #40 "Managers in Wholesale and Retail Trade" "ম্যানেজার (পাইকারি ও খুচরা ব্যাবসা)"
|
||||
* #42 "Sales Supervisors" "বিক্রয় তত্ত্বাবধায়ক"
|
||||
* #43 "Travel Attendants and Related Workers" "ভ্রমণ সংক্রান্ত কাজে নিয়োজিত কর্মী "
|
||||
* #44 "Salespersons in Insurance, Real Estate, Business, and Related Services" "বীমা, রিয়েল এস্টেট, ব্যাবসা এবং এতদসংক্রান্ত সেবা বিক্রেতা "
|
||||
* #45 "Street and Market Salespersons" "ফেরিওয়ালা "
|
||||
* #46 "Sales Workers, Not Elsewhere Classified" "অশ্রেণীভুক্ত বিক্রয়কর্মী "
|
||||
* #50 "Hotel and Lodging Managers" "আবাসিক হোটেল ম্যানেজার "
|
||||
* #51 "Hotel Proprietors" "হোটেল মালিক "
|
||||
* #43 "Travel Attendants and Related Workers" "ভ্রমণ সংক্রান্ত কাজে নিয়োজিত কর্মী"
|
||||
* #44 "Salespersons in Insurance, Real Estate, Business, and Related Services" "বীমা, রিয়েল এস্টেট, ব্যাবসা এবং এতদসংক্রান্ত সেবা বিক্রেতা"
|
||||
* #45 "Street and Market Salespersons" "ফেরিওয়ালা"
|
||||
* #46 "Sales Workers, Not Elsewhere Classified" "অশ্রেণীভুক্ত বিক্রয়কর্মী"
|
||||
* #50 "Hotel and Lodging Managers" "আবাসিক হোটেল ম্যানেজার"
|
||||
* #51 "Hotel Proprietors" "হোটেল মালিক"
|
||||
* #52 "Residential Hotel Supervisors" "আবাসিক হোটেল তত্ত্বাবধায়ক"
|
||||
* #53 "Cooks, Waiters, and Related Hotel Workers" "বাবুর্চি, হোটেল বয় ও এতদসম্পর্কিত কর্মী "
|
||||
* #54 "Unclassified Housemaids" "অশ্রেণীভুক্ত গৃহ পরিচারিকা "
|
||||
* #55 "Caretakers, Janitors, and Related Domestic Workers" "বাড়ির কেয়ারটেকার, ঝাড়ুদার ও এতদসম্পর্কিত কর্মী "
|
||||
* #56 "Laundry Workers" "ধোপা "
|
||||
* #58 "Security Guards" "নিরাপত্তা কর্মী "
|
||||
* #59 "Unclassified Service Workers" "অশ্রেণীভুক্ত সেবা কর্মী "
|
||||
* #60 "Agricultural Farm Managers and Supervisors" "কৃষিখামার ব্যবস্থাপক ও তত্ত্বাবধায়ক "
|
||||
* #61 "Crop and Livestock Farmers" "কৃষিকাজ "
|
||||
* #63 "Forestry Workers" "বন কর্মী "
|
||||
* #64 "Fishers, Hunters, and Related Workers" "জেলে, শিকারি ও এতদসম্পর্কিত কর্মী "
|
||||
* #70 "Production Supervisors and Foremen" "উৎপাদন তত্ত্বাবধায়ক ও ফোরম্যান "
|
||||
* #71 "Miners and Quarry Workers" "খননকর্মী ও খননকারী "
|
||||
* #72 "Metal Processing and Finishing Workers" "ধাতু প্রক্রিয়াকারী "
|
||||
* #74 "Chemical Products Processing Workers" "রাসায়নিক দ্রব্য প্রক্রিয়াকারী "
|
||||
* #75 "Weavers, Knitters, Dyers, and Related Textile Workers" "তাঁতী, কাপড় বোনা ও রং করা "
|
||||
* #76 "Tanners and Leather Processing Workers" "চামড়া প্রক্রিয়াকারী "
|
||||
* #77 "Food and Beverage Processing Plant Operators" "খাদ্য ও পানীয় প্রক্রিয়াকারী "
|
||||
* #78 "Tobacco Preparers and Tobacco Processing Workers" "তামাক প্রক্রিয়াকারী "
|
||||
* #79 "Tailors, Dressmakers, and Sewing Workers" "দর্জি ও অন্যান্য সেলাই কর্মী "
|
||||
* #80 "Footwear and Leather Goods Makers" "জুতা ও চামড়াজাত দ্রব্য প্রস্তুতকারী "
|
||||
* #81 "Carpenters" "কাঠমিস্ত্রি "
|
||||
* #82 "Stone Cutters and Processing Workers" "পাথর কাটা ও প্রক্রিয়াকারী "
|
||||
* #83 "Blacksmiths, Toolmakers, and Related Trades Workers" "কর্মকার, ঢালাইকর্মী ও যন্ত্রাংশ প্রস্তুতকারী "
|
||||
* #84 "Non-Electrical Machine Operators" "বৈদ্যুতিক ব্যতীত অন্যান্য মেশিনকর্মী "
|
||||
* #53 "Cooks, Waiters, and Related Hotel Workers" "বাবুর্চি, হোটেল বয় ও এতদসম্পর্কিত কর্মী"
|
||||
* #54 "Unclassified Housemaids" "অশ্রেণীভুক্ত গৃহ পরিচারিকা"
|
||||
* #55 "Caretakers, Janitors, and Related Domestic Workers" "বাড়ির কেয়ারটেকার, ঝাড়ুদার ও এতদসম্পর্কিত কর্মী"
|
||||
* #56 "Laundry Workers" "ধোপা"
|
||||
* #58 "Security Guards" "নিরাপত্তা কর্মী"
|
||||
* #59 "Unclassified Service Workers" "অশ্রেণীভুক্ত সেবা কর্মী"
|
||||
* #60 "Agricultural Farm Managers and Supervisors" "কৃষিখামার ব্যবস্থাপক ও তত্ত্বাবধায়ক"
|
||||
* #61 "Crop and Livestock Farmers" "কৃষিকাজ"
|
||||
* #63 "Forestry Workers" "বন কর্মী"
|
||||
* #64 "Fishers, Hunters, and Related Workers" "জেলে, শিকারি ও এতদসম্পর্কিত কর্মী"
|
||||
* #70 "Production Supervisors and Foremen" "উৎপাদন তত্ত্বাবধায়ক ও ফোরম্যান"
|
||||
* #71 "Miners and Quarry Workers" "খননকর্মী ও খননকারী"
|
||||
* #72 "Metal Processing and Finishing Workers" "ধাতু প্রক্রিয়াকারী"
|
||||
* #74 "Chemical Products Processing Workers" "রাসায়নিক দ্রব্য প্রক্রিয়াকারী"
|
||||
* #75 "Weavers, Knitters, Dyers, and Related Textile Workers" "তাঁতী, কাপড় বোনা ও রং করা"
|
||||
* #76 "Tanners and Leather Processing Workers" "চামড়া প্রক্রিয়াকারী"
|
||||
* #77 "Food and Beverage Processing Plant Operators" "খাদ্য ও পানীয় প্রক্রিয়াকারী"
|
||||
* #78 "Tobacco Preparers and Tobacco Processing Workers" "তামাক প্রক্রিয়াকারী"
|
||||
* #79 "Tailors, Dressmakers, and Sewing Workers" "দর্জি ও অন্যান্য সেলাই কর্মী"
|
||||
* #80 "Footwear and Leather Goods Makers" "জুতা ও চামড়াজাত দ্রব্য প্রস্তুতকারী"
|
||||
* #81 "Carpenters" "কাঠমিস্ত্রি"
|
||||
* #82 "Stone Cutters and Processing Workers" "পাথর কাটা ও প্রক্রিয়াকারী"
|
||||
* #83 "Blacksmiths, Toolmakers, and Related Trades Workers" "কর্মকার, ঢালাইকর্মী ও যন্ত্রাংশ প্রস্তুতকারী"
|
||||
* #84 "Non-Electrical Machine Operators" "বৈদ্যুতিক ব্যতীত অন্যান্য মেশিনকর্মী"
|
||||
* #85 "Electricians" "বৈদ্যুতিক কর্মী"
|
||||
* #86 "Broadcasting and Audio-Visual Technicians" "শব্দ প্রচার কর্মী ও চলচ্চিত্র প্রদর্শনকারী "
|
||||
* #87 "Water and Sewerage Construction Workers and Welders" "পানি ও পয়োঃ নিষ্কাশন কাঠামো নির্মাণকারী ও ধাতু ঝালাইকারী "
|
||||
* #88 "Jewellery and Precious Metal Workers" "স্বর্ণকার "
|
||||
* #89 "Glass, Pottery, and Related Trades Workers" "গ্লাস ও মাটির জিনিস প্রস্তুতকারী "
|
||||
* #86 "Broadcasting and Audio-Visual Technicians" "শব্দ প্রচার কর্মী ও চলচ্চিত্র প্রদর্শনকারী"
|
||||
* #87 "Water and Sewerage Construction Workers and Welders" "পানি ও পয়োঃ নিষ্কাশন কাঠামো নির্মাণকারী ও ধাতু ঝালাইকারী"
|
||||
* #88 "Jewellery and Precious Metal Workers" "স্বর্ণকার"
|
||||
* #89 "Glass, Pottery, and Related Trades Workers" "গ্লাস ও মাটির জিনিস প্রস্তুতকারী"
|
||||
* #90 "Rubber and Plastic Products Makers" "রাবার ও প্লাস্টিক দ্রব্য প্রস্তুতকারী"
|
||||
* #91 "Paper and Paperboard Products Workers" "কাগজ ও কাগজের বোর্ড প্রস্তুতকারী "
|
||||
* #91 "Paper and Paperboard Products Workers" "কাগজ ও কাগজের বোর্ড প্রস্তুতকারী"
|
||||
* #92 "Printers and Related Workers" "মুদ্রণকাজ"
|
||||
|
||||
ValueSet: BDOccupationsVS
|
||||
Id: bd-occupations-vs
|
||||
Id: bd-occupations-valueset
|
||||
Title: "Bangladesh Occupations ValueSet"
|
||||
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
|
||||
@@ -1,6 +1,6 @@
|
||||
//codeSystems/bd-regions.fsh
|
||||
CodeSystem: BDReligionsCS
|
||||
Id: bangladesh-religions-cs
|
||||
Id: bd-religions
|
||||
Title: "Bangladesh 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)"
|
||||
|
||||
ValueSet: BDReligionsVS
|
||||
Id: bd-religions-vs
|
||||
Id: bd-religions-valueset
|
||||
Title: "Bangladesh Religions ValueSet"
|
||||
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
|
||||
30
input/fsh/codeSystems/BDVaccineCodesCS.fsh
Normal file
30
input/fsh/codeSystems/BDVaccineCodesCS.fsh
Normal file
@@ -0,0 +1,30 @@
|
||||
CodeSystem: BDVaccineCS
|
||||
Id: bd-vaccine-code
|
||||
Title: "Bangladesh Vaccine Code System"
|
||||
Description: "Vaccine codes used in Bangladesh EPI and immunization program."
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-vaccine-code"
|
||||
* ^status = #active
|
||||
* ^caseSensitive = true
|
||||
* ^experimental = false
|
||||
* ^content = #complete
|
||||
|
||||
* #BCG "BCG Vaccine"
|
||||
"Bacillus Calmette-Guérin vaccine, used against tuberculosis."
|
||||
* #OPV "Oral Polio Vaccine (OPV)"
|
||||
"Live attenuated oral polio vaccine."
|
||||
* #IPV "Inactivated Polio Vaccine (IPV)"
|
||||
"Inactivated polio vaccine."
|
||||
* #PENTA "Pentavalent Vaccine"
|
||||
"DTP-HepB-Hib combined vaccine."
|
||||
* #MR "Measles-Rubella (MR) Vaccine"
|
||||
"Combined measles and rubella vaccine."
|
||||
* #TT "Tetanus Toxoid (TT) Vaccine"
|
||||
"Vaccine used for tetanus prevention."
|
||||
* #PCV10 "Pneumococcal Conjugate Vaccine"
|
||||
"10-valent pneumococcal conjugate vaccine."
|
||||
* #ROTA "Rotavirus Vaccine"
|
||||
"Live attenuated rotavirus vaccine for diarrheal disease prevention."
|
||||
* #HPV "Human Papillomavirus (HPV) Vaccine"
|
||||
"Vaccine used for prevention of cervical cancer and HPV-related diseases."
|
||||
* #COVID19 "COVID-19 Vaccine"
|
||||
"Vaccines against SARS-CoV-2 (various manufacturers)."
|
||||
47
input/fsh/codeSystems/ICD11MMSCS.fsh
Normal file
47
input/fsh/codeSystems/ICD11MMSCS.fsh
Normal file
@@ -0,0 +1,47 @@
|
||||
// ============================================================
|
||||
// CodeSystem-icd11-mms.fsh
|
||||
// ICD-11 Mortality and Morbidity Statistics (MMS) — stub only
|
||||
// Content is hosted externally; canonical authority is WHO.
|
||||
// Runtime resolution via OCL: https://tr.ocl.dghs.gov.bd
|
||||
// ============================================================
|
||||
|
||||
CodeSystem: ICD11MMSCS
|
||||
Id: icd11-mms
|
||||
Title: "ICD-11 Mortality and Morbidity Statistics (MMS)"
|
||||
Description: """
|
||||
WHO ICD-11 Mortality and Morbidity Statistics linearization.
|
||||
Canonical system URI: http://id.who.int/icd/release/11/mms
|
||||
|
||||
This CodeSystem is declared as a stub (content = #not-present).
|
||||
The authoritative content is maintained by the World Health Organization.
|
||||
In Bangladesh, runtime code validation and lookup are delegated to the
|
||||
national OCL terminology server at https://tr.ocl.dghs.gov.bd.
|
||||
|
||||
Supported operations (use `system=` parameter, not `url=`):
|
||||
- $validate-code: https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$validate-code?system=http://id.who.int/icd/release/11/mms&code={code}
|
||||
- $lookup: https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$lookup?system=http://id.who.int/icd/release/11/mms&code={code}
|
||||
|
||||
$expand is not supported — known OCL limitation. Expansion must not be
|
||||
attempted at build time or by IG Publisher.
|
||||
|
||||
Preferred code form: short stem codes (e.g. 1A00, NC72.Z).
|
||||
Linearization URIs are not used as code identifiers in this IG.
|
||||
|
||||
Version 2025-01 is imported into OCL with 36,941 concepts across
|
||||
the following concept classes: Diagnosis, Finding, Substance, Organism,
|
||||
Device, Anatomy, Misc.
|
||||
"""
|
||||
|
||||
* ^url = "http://id.who.int/icd/release/11/mms"
|
||||
* ^version = "2025-01"
|
||||
* ^status = #active
|
||||
* ^experimental = false
|
||||
* ^publisher = "World Health Organization (WHO)"
|
||||
* ^contact.name = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
|
||||
* ^contact.telecom.system = #url
|
||||
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||
* ^copyright = "ICD-11 is copyright © World Health Organization. Used under licence."
|
||||
* ^content = #not-present
|
||||
* ^count = 36941
|
||||
* ^caseSensitive = true
|
||||
20
input/fsh/codeSystems/ImmunizationRoute.fsh
Normal file
20
input/fsh/codeSystems/ImmunizationRoute.fsh
Normal file
@@ -0,0 +1,20 @@
|
||||
CodeSystem: BDImmunizationRouteCS
|
||||
Id: bd-immunization-route
|
||||
Title: "Bangladesh Immunization Route Code System"
|
||||
Description: "Codes for routes of vaccine administration in Bangladesh."
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/CodeSystem/bd-immunization-route"
|
||||
* ^status = #active
|
||||
* ^caseSensitive = true
|
||||
* ^experimental = false
|
||||
* ^content = #complete
|
||||
|
||||
* #IM "Intramuscular"
|
||||
"Vaccine administered into a muscle."
|
||||
* #SC "Subcutaneous"
|
||||
"Vaccine administered under the skin."
|
||||
* #ID "Intradermal"
|
||||
"Vaccine administered into the dermis layer of the skin."
|
||||
* #ORAL "Oral"
|
||||
"Vaccine administered orally."
|
||||
* #IN "Intranasal"
|
||||
"Vaccine administered via the nose."
|
||||
68
input/fsh/extensions/icd11ClusterExpression.fsh
Normal file
68
input/fsh/extensions/icd11ClusterExpression.fsh
Normal file
@@ -0,0 +1,68 @@
|
||||
// ============================================================
|
||||
// icd11ClusterExpression.fsh
|
||||
// Extension for ICD-11 postcoordinated cluster expressions
|
||||
// Context: Coding (broad — usable across all ICD-11 coded elements)
|
||||
// ============================================================
|
||||
|
||||
Extension: ICD11ClusterExpression
|
||||
Id: icd11-cluster-expression
|
||||
Title: "ICD-11 Cluster Expression"
|
||||
Description: """
|
||||
Carries a postcoordinated ICD-11 cluster expression as a single string
|
||||
on a Coding element where the stem code alone is insufficient to fully
|
||||
represent the clinical concept.
|
||||
|
||||
A cluster expression combines a stem code with one or more satellite
|
||||
codes using the & operator (combination) or / operator (specificity).
|
||||
Example: NC72.Z&XK8G&XJ7ZH&XJ7YM
|
||||
- NC72.Z — stem: Fracture of femur, unspecified
|
||||
- XK8G — satellite: laterality
|
||||
- XJ7ZH — satellite: fracture subtype
|
||||
- XJ7YM — satellite: fracture open or closed
|
||||
|
||||
Usage rules:
|
||||
- SHALL only be present when the expression contains at least one
|
||||
satellite code joined by & or / operators.
|
||||
- Single stem codes SHALL be represented in Coding.code only and
|
||||
validated via OCL $validate-code. The cluster validator at
|
||||
https://icd11.dghs.gov.bd/cluster/validate explicitly rejects
|
||||
stem-only expressions.
|
||||
- The stem code in Coding.code SHALL match the leading stem code
|
||||
in this expression string.
|
||||
- Satellite codes in the cluster expression are exempt from the
|
||||
Diagnosis/Finding class restriction that applies to stem codes
|
||||
in Condition.code.
|
||||
- Cluster expressions SHALL be validated against the Bangladesh
|
||||
ICD-11 Cluster Validator at https://icd11.dghs.gov.bd/cluster/validate
|
||||
prior to submission to the HIE.
|
||||
|
||||
Cluster validator endpoint:
|
||||
POST https://icd11.dghs.gov.bd/cluster/validate
|
||||
Body: { "expression": "NC72.Z&XK8G&XJ7ZH&XJ7YM" }
|
||||
|
||||
This extension is not MustSupport and is not mandatory. It is present
|
||||
only when postcoordination is clinically required. Cluster expressions
|
||||
are typically sourced from the WHO Electronic Coding Tool (ECT) at the
|
||||
point of care.
|
||||
"""
|
||||
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/icd11-cluster-expression"
|
||||
* ^status = #active
|
||||
* ^experimental = false
|
||||
* ^publisher = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
|
||||
* ^contact.name = "DGHS Health Informatics Unit"
|
||||
* ^contact.telecom.system = #url
|
||||
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||
* ^context[+].type = #element
|
||||
* ^context[=].expression = "Coding"
|
||||
|
||||
* value[x] only string
|
||||
* valueString 1..1
|
||||
* valueString ^short = "ICD-11 postcoordinated cluster expression string"
|
||||
* valueString ^definition = """
|
||||
The full postcoordinated cluster expression, including the stem code and
|
||||
all satellite codes joined by & or / operators. Example:
|
||||
NC72.Z&XK8G&XJ7ZH&XJ7YM. The stem code in this string SHALL match
|
||||
Coding.code on the parent Coding element.
|
||||
"""
|
||||
@@ -7,4 +7,4 @@ Context: Patient
|
||||
|
||||
// Religion using standard HL7 extension
|
||||
* extension contains http://hl7.org/fhir/StructureDefinition/language named language 1..1
|
||||
* extension[language].valueCode from LanguageValueSet
|
||||
* extension[language].valueCode from BDLanguageVS
|
||||
@@ -1,4 +1,13 @@
|
||||
Extension: Nationality
|
||||
Id: nationality
|
||||
Title: "patient Nationality"
|
||||
Description: "Nationality"
|
||||
Title: "Patient Nationality"
|
||||
Description: "Nationality of the patient based on Bangladesh country list."
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/nationality"
|
||||
|
||||
// Define where this extension can be used
|
||||
* ^context[0].type = #element
|
||||
* ^context[0].expression = "Patient"
|
||||
|
||||
// Only one value, bound to your ValueSet
|
||||
* value[x] only CodeableConcept
|
||||
* 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
|
||||
* 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)
|
||||
|
||||
|
||||
63
input/fsh/namingSystems/ICD11MMSNamingSystem.fsh
Normal file
63
input/fsh/namingSystems/ICD11MMSNamingSystem.fsh
Normal file
@@ -0,0 +1,63 @@
|
||||
// ============================================================
|
||||
// ICD11MMSNamingSystem.fsh
|
||||
// NamingSystem for ICD-11 MMS in the Bangladesh national context
|
||||
// Canonical authority: WHO
|
||||
// National resolver: OCL at https://tr.ocl.dghs.gov.bd
|
||||
// ============================================================
|
||||
|
||||
Instance: icd11-mms-bd
|
||||
InstanceOf: NamingSystem
|
||||
Usage: #definition
|
||||
Title: "ICD-11 MMS NamingSystem — Bangladesh"
|
||||
Description: """
|
||||
Declares the ICD-11 Mortality and Morbidity Statistics (MMS) coding system
|
||||
as a known and supported terminology within the Bangladesh national health
|
||||
information infrastructure.
|
||||
|
||||
Canonical system URI: http://id.who.int/icd/release/11/mms
|
||||
Canonical authority: World Health Organization (WHO)
|
||||
|
||||
Preferred code form: short stem codes (e.g. 1A00, NC72.Z).
|
||||
Linearization URIs are not used as code identifiers in this IG.
|
||||
|
||||
National terminology resolver (OCL):
|
||||
https://tr.ocl.dghs.gov.bd
|
||||
|
||||
Supported OCL operations (use `system=` parameter, not `url=`):
|
||||
- $validate-code: https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$validate-code
|
||||
?system=http://id.who.int/icd/release/11/mms&code={code}
|
||||
- $lookup: https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$lookup
|
||||
?system=http://id.who.int/icd/release/11/mms&code={code}
|
||||
|
||||
$expand is not supported — known OCL limitation.
|
||||
|
||||
Version 2025-01 is active in the national OCL instance with 36,941
|
||||
imported concepts. The OCL resolver is an internal national service;
|
||||
vendors do not interact with it directly. All vendor submissions are
|
||||
validated at the HIE boundary via the Bangladesh ICD-11 Cluster Validator
|
||||
at https://icd11.dghs.gov.bd/cluster/validate.
|
||||
"""
|
||||
|
||||
* name = "ICD11MMSBangladesh"
|
||||
* status = #active
|
||||
* kind = #codesystem
|
||||
* date = "2025-01-01"
|
||||
* publisher = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
|
||||
* contact.name = "DGHS Health Informatics Unit"
|
||||
* contact.telecom.system = #url
|
||||
* contact.telecom.value = "https://dghs.gov.bd"
|
||||
* jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||
* responsible = "World Health Organization (WHO)"
|
||||
|
||||
// Primary identifier — canonical system URI (WHO authority)
|
||||
* uniqueId[+].type = #uri
|
||||
* uniqueId[=].value = "http://id.who.int/icd/release/11/mms"
|
||||
* uniqueId[=].preferred = true
|
||||
* uniqueId[=].comment = "Canonical ICD-11 MMS system URI. Canonical authority is WHO."
|
||||
* uniqueId[=].period.start = "2025-01-01"
|
||||
|
||||
// Secondary identifier — national OCL source locator (machine-discoverable, not canonical)
|
||||
* uniqueId[+].type = #uri
|
||||
* uniqueId[=].value = "https://tr.ocl.dghs.gov.bd/orgs/MoHFW/sources/ICD-11-MMS/"
|
||||
* uniqueId[=].preferred = false
|
||||
* uniqueId[=].comment = "National terminology resolver — Bangladesh OCL instance. Not the canonical system URI."
|
||||
65
input/fsh/profile/BDConditionProfile.fsh
Normal file
65
input/fsh/profile/BDConditionProfile.fsh
Normal file
@@ -0,0 +1,65 @@
|
||||
// ============================================================
|
||||
// BDConditionProfile.fsh
|
||||
// BD-Core Condition profile with mandatory ICD-11 MMS stem slice
|
||||
// Binding: Diagnosis and Finding class concepts only
|
||||
// Runtime enforcement via OCL ValueSet $validate-code
|
||||
// ============================================================
|
||||
|
||||
Profile: BDConditionProfile
|
||||
Parent: Condition
|
||||
Id: bd-condition
|
||||
Title: "BD Core Condition Profile (ICD-11)"
|
||||
Description: """
|
||||
Condition resource coded with ICD-11 MMS, restricted to Diagnosis and
|
||||
Finding class concepts. Defined in the Bangladesh Core FHIR Implementation
|
||||
Guide (BD-Core-FHIR-IG) published by DGHS/MoHFW.
|
||||
"""
|
||||
|
||||
* code 1..1 MS
|
||||
* code from bd-condition-icd11-diagnosis-valueset (preferred)
|
||||
* code ^comment = """
|
||||
Condition.code SHALL contain at least one coding conforming to the
|
||||
coding[stem] slice with system = http://id.who.int/icd/release/11/mms.
|
||||
|
||||
Stem code rules:
|
||||
- The stem code SHALL be a Diagnosis or Finding class ICD-11 MMS concept.
|
||||
- This restriction is enforced at runtime via OCL ValueSet $validate-code
|
||||
against the Bangladesh ICD-11 MMS Condition ValueSet.
|
||||
- Stem-only codes SHALL be validated via OCL $validate-code.
|
||||
- Substance, Organism, Device, Anatomy, and Misc class concepts SHALL NOT
|
||||
appear as standalone stem codes in Condition.code.
|
||||
|
||||
Cluster expression rules:
|
||||
- When a concept requires postcoordination, the full cluster expression
|
||||
SHALL be carried in the icd11-cluster-expression extension on coding[stem].
|
||||
- The icd11-cluster-expression extension SHALL only be present when the
|
||||
expression contains at least one satellite code joined by & or / operators.
|
||||
- Satellite codes in the cluster expression are exempt from the
|
||||
Diagnosis/Finding class restriction.
|
||||
- Cluster expressions SHALL be validated against the Bangladesh ICD-11
|
||||
Cluster Validator at https://icd11.dghs.gov.bd/cluster/validate
|
||||
prior to submission to the HIE.
|
||||
|
||||
Additional local codings are permitted alongside the mandatory ICD-11 stem
|
||||
(slicing is open). Cluster expressions are typically sourced from the WHO
|
||||
Electronic Coding Tool (ECT) at the point of care.
|
||||
"""
|
||||
|
||||
* code.coding ^slicing.discriminator.type = #value
|
||||
* code.coding ^slicing.discriminator.path = "system"
|
||||
* code.coding ^slicing.rules = #open
|
||||
* code.coding ^slicing.description = "Slice requiring exactly one ICD-11 MMS stem code. Additional local codings permitted."
|
||||
|
||||
* code.coding contains stem 1..1
|
||||
* code.coding[stem] ^short = "Mandatory ICD-11 MMS stem code"
|
||||
* code.coding[stem] ^definition = """
|
||||
Exactly one ICD-11 MMS stem code is required. The stem code SHALL be a
|
||||
Diagnosis or Finding class concept. When the condition requires
|
||||
postcoordination, the full cluster expression is carried in the
|
||||
icd11-cluster-expression extension on this coding element.
|
||||
"""
|
||||
* code.coding[stem].system 1..1
|
||||
* code.coding[stem].system = "http://id.who.int/icd/release/11/mms" (exactly)
|
||||
* code.coding[stem].code 1..1
|
||||
* code.coding[stem].extension contains
|
||||
https://fhir.dghs.gov.bd/core/StructureDefinition/icd11-cluster-expression named clusterExpression 0..1
|
||||
37
input/fsh/profile/BDEncounter.fsh
Normal file
37
input/fsh/profile/BDEncounter.fsh
Normal file
@@ -0,0 +1,37 @@
|
||||
|
||||
Profile: BDEncounterProfile
|
||||
Id: bd-encounter
|
||||
Parent: Encounter
|
||||
Title: "Encounter Profile for Bangladesh"
|
||||
Description: "Profile of Encounter Bangladesh Standard"
|
||||
|
||||
* identifier 1..*
|
||||
|
||||
* status 1..1
|
||||
* status from BDEncounterStatusSubsetVS
|
||||
* status ^short = "Encounter status in BD"
|
||||
* status ^definition = "Status of patient encounter (planned, in-progress, finished, cancelled)"
|
||||
|
||||
* class 1..1
|
||||
* class from BDEncounterClassSubsetVS
|
||||
|
||||
* subject 1..1
|
||||
//* subject from https://fhir.dghs.gov.bd/core/StructureDefinition/bd-patient
|
||||
|
||||
* basedOn 0..1 MS
|
||||
//* basedOn only Reference (CarePlan or DeviceRequest or MedicationRequest or ServiceRequest)
|
||||
|
||||
* partOf 0..1 MS
|
||||
|
||||
* serviceProvider 1..1
|
||||
|
||||
* participant 1..*
|
||||
* participant.period 1..1
|
||||
|
||||
* diagnosis 0..* MS
|
||||
* diagnosis.condition only Reference(BDConditionProfile)
|
||||
|
||||
|
||||
|
||||
|
||||
* hospitalization.dischargeDisposition 0..1 MS
|
||||
71
input/fsh/profile/BDImmunization.fsh
Normal file
71
input/fsh/profile/BDImmunization.fsh
Normal file
@@ -0,0 +1,71 @@
|
||||
// @Name: Profile
|
||||
// @Description: Immunization Profile of the Bangladeshi Patient.
|
||||
Profile: BDImmunizationProfile
|
||||
Id: bd-immunization
|
||||
Parent: Immunization
|
||||
Title: "Immunization Profile for Bangladesh"
|
||||
Description: "Bangladesh Immunization Profile"
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-immunization"
|
||||
|
||||
|
||||
* identifier 1..*
|
||||
* identifier ^short = "Unique identifier"
|
||||
* identifier ^definition = "Unique identifier for the vaccination event"
|
||||
|
||||
* reasonReference 0..*
|
||||
* reasonReference only Reference(Condition or Observation or DiagnosticReport)
|
||||
|
||||
* vaccineCode 1..1
|
||||
* vaccineCode from BDVaccineVS (required)
|
||||
|
||||
//* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-medication"
|
||||
|
||||
* manufacturer 0..1
|
||||
* manufacturer ^short = "Manufacturer"
|
||||
* manufacturer ^definition = "Vaccine manufacturer"
|
||||
* manufacturer only Reference(BDOrganization)
|
||||
|
||||
* lotNumber 0..1
|
||||
* lotNumber ^short = "Vaccine Lot Number"
|
||||
* lotNumber ^definition = "Vaccine lot or batch number"
|
||||
|
||||
* expirationDate 0..1
|
||||
* expirationDate ^short = "Expiration Date"
|
||||
* expirationDate ^definition = "Expiration date of vaccine lot"
|
||||
|
||||
* patient 1..1
|
||||
* patient ^definition = "The patient receiving the vaccine"
|
||||
* patient only Reference(BDPatientProfile)
|
||||
|
||||
* encounter 1..1
|
||||
* encounter ^definition = "Encounter during which vaccine was administered"
|
||||
* encounter only Reference(BDEncounterProfile)
|
||||
|
||||
* occurrence[x] 1..1
|
||||
|
||||
* location 0..1
|
||||
* location ^definition = "Location where vaccine was administered"
|
||||
* location only Reference(BDLocation)
|
||||
|
||||
* site 0..1
|
||||
* site ^definition = "Body site of administration"
|
||||
* site from BDImmunizationSiteVS
|
||||
|
||||
* route 0..1
|
||||
* route ^definition = "Route of administration"
|
||||
* route from BDImmunizationRouteVS
|
||||
|
||||
* doseQuantity 0..1
|
||||
* doseQuantity ^definition = "Amount of vaccine administered"
|
||||
* doseQuantity.system = "http://unitsofmeasure.org"
|
||||
|
||||
* performer 0..*
|
||||
* performer ^definition = "Individual who performed the immunization"
|
||||
* performer.actor only Reference(BDPractitioner)
|
||||
|
||||
* reaction 0..*
|
||||
* reaction ^definition = "Adverse reaction following immunization"
|
||||
//TODO: change to BDObservation after creating the profile
|
||||
* reaction.detail only Reference(Observation)
|
||||
//TODO change to BDObservation after creating the profile
|
||||
* reasonReference only Reference(Condition or Observation or DiagnosticReport)
|
||||
8
input/fsh/profile/BDLocation.fsh
Normal file
8
input/fsh/profile/BDLocation.fsh
Normal file
@@ -0,0 +1,8 @@
|
||||
Profile: BDLocation
|
||||
Id: bd-location
|
||||
Parent: Location
|
||||
Title: "Location of Immunization for Bangladesh"
|
||||
Description: "Address for Bangladesh Standard"
|
||||
|
||||
* address 1..1
|
||||
* address only BDAddress
|
||||
17
input/fsh/profile/BDMedication.fsh
Normal file
17
input/fsh/profile/BDMedication.fsh
Normal file
@@ -0,0 +1,17 @@
|
||||
// @Name: Profile
|
||||
// @Description: Example of a profile of the Medication resource. This example includes a few of the most commonly used constraints and documentation features of FHIR profiles.
|
||||
|
||||
Profile: BDMedication
|
||||
Id: bd-medication
|
||||
Parent: Medication
|
||||
Title: "Medication Profile for Bangladesh-V2"
|
||||
Description: "Profile of Medication Bangladesh Standard V2"
|
||||
|
||||
* form 1..1 MS
|
||||
* form from BDMedicationDoseFormVS
|
||||
|
||||
* code 1..1 MS
|
||||
* code from BDMedicationVS
|
||||
|
||||
* ingredient 1..* MS
|
||||
* ingredient.strength 1..1 MS
|
||||
24
input/fsh/profile/BDMedicationRequest.fsh
Normal file
24
input/fsh/profile/BDMedicationRequest.fsh
Normal file
@@ -0,0 +1,24 @@
|
||||
// @Name: Profile
|
||||
// @Description: Example of a profile of the MedicationRequest resource. This example includes a few of the most commonly used constraints and documentation features of FHIR profiles.
|
||||
|
||||
Profile: BDMedicationRequest
|
||||
Id: bd-medication-request
|
||||
Parent: MedicationRequest
|
||||
Title: "Medication Request Profile for Bangladesh-V2"
|
||||
Description: "Profile of MedicationRequest Bangladesh Standard V2"
|
||||
|
||||
* identifier 1..*
|
||||
* medication[x] 1..1 MS
|
||||
* medication[x] only Reference(BDMedication) or CodeableConcept
|
||||
* subject only Reference(BDPatientProfile)
|
||||
|
||||
* encounter 0..1 MS
|
||||
* encounter only Reference(BDEncounterProfile)
|
||||
* encounter ^definition = "The encounter during which this prescription was created."
|
||||
* authoredOn 1..1
|
||||
* requester 1..1
|
||||
|
||||
* reportedReference only Reference(BDPractitioner or BDOrganization or BDPatientProfile)
|
||||
* requester only Reference(BDPractitioner or BDOrganization)
|
||||
* priorPrescription only Reference(BDMedicationRequest)
|
||||
* basedOn only Reference(BDMedicationRequest or ServiceRequest or CarePlan or ImmunizationRecommendation)
|
||||
84
input/fsh/profile/BDObservation.fsh
Normal file
84
input/fsh/profile/BDObservation.fsh
Normal file
@@ -0,0 +1,84 @@
|
||||
Profile: BDObservationProfile
|
||||
Id: bd-observation
|
||||
Parent: Observation
|
||||
Title: "Bangladesh Observation Profile"
|
||||
Description: "Bangladesh Observation Profile"
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/StructureDefinition/bd-observation"
|
||||
* ^version = "1.0.0"
|
||||
* ^status = #active
|
||||
|
||||
* identifier 1..* MS
|
||||
* identifier.value 1..1
|
||||
|
||||
* status 1..1
|
||||
|
||||
* partOf 0..*
|
||||
|
||||
* category 1..* MS
|
||||
* category from http://hl7.org/fhir/ValueSet/observation-category (required)
|
||||
* category ^definition = "Type of category"
|
||||
* category ^comment = "E.g. vital, physical examination"
|
||||
|
||||
* code 1..1 MS
|
||||
* code from http://hl7.org/fhir/ValueSet/observation-codes (required)
|
||||
* code ^definition = "Type of test/measurement"
|
||||
* code ^comment = "E.g., Hb, RBS, CBC"
|
||||
|
||||
// Subject: Reference to Patient Profile (Required)
|
||||
* subject 1..1 MS
|
||||
* subject.reference 1..1 MS
|
||||
* subject.display 1..1 MS
|
||||
* subject.identifier 0..1
|
||||
* subject ^definition = "Reference to Patient Profile"
|
||||
* subject ^comment = "EX: http://mci.mcishr.dghs.gov.bd/api/v1/patients/98002412586"
|
||||
|
||||
|
||||
* encounter 1..1 MS
|
||||
* encounter.reference 1..1 MS
|
||||
* encounter ^definition = "Reference to Patient Profile"
|
||||
* encounter ^comment = "EX: uuid:34c38499-58ab-41e0-8e94-c3931491ad0e - bundle encounter uuid from local"
|
||||
|
||||
* performer 1..*
|
||||
* performer.reference 1..1
|
||||
|
||||
// Value[x]: Result value (Optional, but constrained)
|
||||
* value[x] 0..1
|
||||
* value[x] ^definition = "Result value (Quantity, string, code, boolean, etc.)"
|
||||
* valueQuantity 0..1
|
||||
* valueQuantity ^comment = "If numeric, must include UCUM unit"
|
||||
* valueQuantity.system 0..1
|
||||
* valueQuantity.code 0..1
|
||||
* valueString 0..1
|
||||
* valueCodeableConcept 0..1
|
||||
* valueBoolean 0..1
|
||||
* valueInteger 0..1
|
||||
* valueRange 0..1
|
||||
* valueRatio 0..1
|
||||
* valueSampledData 0..1
|
||||
* valueTime 0..1
|
||||
* valueDateTime 0..1
|
||||
* valuePeriod 0..1
|
||||
|
||||
* interpretation 0..*
|
||||
* interpretation from http://hl7.org/fhir/ValueSet/observation-interpretation (required)
|
||||
* interpretation ^definition = "Type of test/measurement"
|
||||
* interpretation ^comment = "E.g.: High, low, normal, etc"
|
||||
|
||||
* method 0..1
|
||||
* method from http://hl7.org/fhir/ValueSet/observation-methods (required)
|
||||
* method ^definition = "Type of observation method"
|
||||
* method ^comment = "E.g.: Technique, Total measurement"
|
||||
|
||||
// Issued: Date/time result was issued (Optional)
|
||||
* issued 0..1
|
||||
* issued ^definition = "Date/time result was issued"
|
||||
|
||||
// Reference Range: Normal reference range (Optional)
|
||||
* referenceRange 0..*
|
||||
* referenceRange ^definition = "Normal reference range"
|
||||
* referenceRange ^comment = "Optional"
|
||||
|
||||
// Specimen: Specimen used for the observation (Optional)
|
||||
* specimen 0..1
|
||||
* specimen ^definition = "Specimen used for the observation"
|
||||
* specimen ^comment = "Optional"
|
||||
10
input/fsh/profile/BDOrganization.fsh
Normal file
10
input/fsh/profile/BDOrganization.fsh
Normal file
@@ -0,0 +1,10 @@
|
||||
// @Name: Profile
|
||||
// @Description: Example of a profile of the Practitioner resource for Bangladesh.
|
||||
|
||||
Profile: BDOrganization
|
||||
Id: bd-organization
|
||||
Parent: Organization
|
||||
Title: "Organization for Bangladesh"
|
||||
Description: "Organization for Bangladesh Standard"
|
||||
|
||||
* identifier 1..* MS
|
||||
@@ -1,43 +1,39 @@
|
||||
Alias: $translation = http://hl7.org/fhir/StructureDefinition/translation
|
||||
// @Name: Profile
|
||||
// @Description: Example of a profile of the Patient resource. This example includes a few of the most commonly used constraints and documentation features of FHIR profiles.
|
||||
|
||||
Profile: BDPatientProfile
|
||||
Id: bd-patient
|
||||
Parent: Patient
|
||||
Title: "Patient Profile for Bangladesh"
|
||||
Description: "Profile of Patient Bangladesh Standard"
|
||||
Description: """
|
||||
Patient profile for Bangladesh.
|
||||
- Identifiers: NID, BRN, UHID
|
||||
- Name must be provided in both Bangla and English.
|
||||
- SHALL have at least one RelatedPerson with relationship = father or mother, and that RelatedPerson SHALL include both a name and an identifier.
|
||||
"""
|
||||
|
||||
// ----- Begin rules:
|
||||
// Require exactly one HumanName
|
||||
* name 1..1 MS
|
||||
* name.use 1..1
|
||||
* name.use = #official (exactly)
|
||||
|
||||
// Require two names total
|
||||
* name 2..*
|
||||
// Require a text element
|
||||
* name.text 1..1 MS
|
||||
|
||||
// Declare slicing on name by use
|
||||
* name ^slicing.discriminator.type = #value
|
||||
* name ^slicing.discriminator.path = "use"
|
||||
* name ^slicing.rules = #open
|
||||
* name ^slicing.ordered = false
|
||||
* name ^slicing.description = "Slice name by use (official for English, usual for Bangla)"
|
||||
// Require translation extensions on text
|
||||
* name.text.extension 2..* MS
|
||||
* name.text.extension contains
|
||||
$translation named nameEn 1..1 MS and
|
||||
$translation named nameBn 1..1 MS
|
||||
|
||||
// Define slices
|
||||
* name contains
|
||||
nameEnglish 1..1 MS and
|
||||
nameBangla 1..1 MS
|
||||
|
||||
// English (official)
|
||||
* name[nameEnglish].use = #official
|
||||
* name[nameEnglish].given 0..*
|
||||
* name[nameEnglish].family 0..1
|
||||
* name[nameEnglish] ^short = "Legal name (English/Romanized)"
|
||||
* name[nameEnglish] ^definition = "Official name as registered in government documents."
|
||||
|
||||
// Bangla (usual)
|
||||
* name[nameBangla].use = #usual
|
||||
* name[nameBangla].given 0..*
|
||||
* name[nameBangla].family 0..1
|
||||
* name[nameBangla] ^short = "নাম (বাংলা)"
|
||||
* name[nameBangla] ^definition = "Patient's name written in Bengali script."
|
||||
// Constraints on English name
|
||||
* name.text.extension[nameEn].extension[lang].valueCode = #en (exactly)
|
||||
* name.text.extension[nameEn].extension[content] 1..1 MS
|
||||
|
||||
// Constraints on Bangla name
|
||||
* name.text.extension[nameBn].extension[lang].valueCode = #bn (exactly)
|
||||
* name.text.extension[nameBn].extension[content] 1..1 MS
|
||||
|
||||
//////////////////////
|
||||
|
||||
@@ -50,11 +46,12 @@ Description: "Profile of Patient Bangladesh Standard"
|
||||
* identifier contains
|
||||
NID 0..1 and
|
||||
BRN 0..1 and
|
||||
UID 0..1
|
||||
UHID 0..1
|
||||
|
||||
* identifier[NID].system = "http://dghs.gov.bd/identifier/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-valueset"
|
||||
* identifier[NID].type from BangladeshIdentifierTypeVS (extensible)
|
||||
* identifier[NID].type.text = "Organization identifier"
|
||||
// * identifier[NID].value = "Personal identifier National ID"
|
||||
@@ -64,18 +61,17 @@ Description: "Profile of Patient Bangladesh Standard"
|
||||
|
||||
* identifier[BRN].system = "http://dghs.gov.bd/identifier/brn"
|
||||
* identifier[BRN].type.coding.code = #BRN
|
||||
* identifier[BRN].type.coding.system = "http://terminology.hl7.org/CodeSystem/v2-0203"
|
||||
* 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.text = "Organization identifier"
|
||||
// * identifier[BRN].value = "Personal identifier Birth Registration"
|
||||
|
||||
|
||||
* identifier[UID].system = "http://dghs.gov.bd/identifier/uid"
|
||||
* identifier[UID].type.coding.code = #UID
|
||||
* identifier[UID].type.coding.system = "http://terminology.hl7.org/CodeSystem/v2-0203"
|
||||
* identifier[UID].type from BangladeshIdentifierTypeVS (extensible)
|
||||
* identifier[UID].type.text = "Organization identifier"
|
||||
// * identifier[UID].value = "Personal identifier"
|
||||
* identifier[UHID].system = "http://dghs.gov.bd/identifier/uhid"
|
||||
* identifier[UHID].type.coding.code = #UHID
|
||||
* 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.text = "Organization identifier"
|
||||
|
||||
|
||||
// Mark elements as MustSupport
|
||||
@@ -100,11 +96,7 @@ Description: "Profile of Patient Bangladesh Standard"
|
||||
|
||||
// Religion using standard HL7 extension
|
||||
* 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 only BDAddress
|
||||
|
||||
* extension contains Occupation named occupation 0..1
|
||||
|
||||
* extension contains nationality named nationality 1..1
|
||||
10
input/fsh/profile/BDPractitioner.fsh
Normal file
10
input/fsh/profile/BDPractitioner.fsh
Normal file
@@ -0,0 +1,10 @@
|
||||
// @Name: Profile
|
||||
// @Description: Example of a profile of the Practitioner resource for Bangladesh.
|
||||
|
||||
Profile: BDPractitioner
|
||||
Id: bd-practitioner
|
||||
Parent: Practitioner
|
||||
Title: "Practitioner for Bangladesh"
|
||||
Description: "Practitioner for Bangladesh Standard"
|
||||
|
||||
* identifier 1..* MS
|
||||
62
input/fsh/valueSets/BDConditionICD11DiagnosisVS.fsh
Normal file
62
input/fsh/valueSets/BDConditionICD11DiagnosisVS.fsh
Normal file
@@ -0,0 +1,62 @@
|
||||
// ============================================================
|
||||
// BDConditionICD11DiagnosisVS.fsh
|
||||
// ICD-11 MMS ValueSet restricted to Diagnosis and Finding classes
|
||||
// Binding target for Condition.code in BDConditionProfile
|
||||
// Empty stub — runtime enforcement via OCL $validate-code
|
||||
// $expand not available — suppressed in sushi-config.yaml
|
||||
// ============================================================
|
||||
|
||||
ValueSet: BDConditionICD11DiagnosisVS
|
||||
Id: bd-condition-icd11-diagnosis-valueset
|
||||
Title: "Bangladesh ICD-11 MMS Condition ValueSet (Diagnosis and Finding)"
|
||||
Description: """
|
||||
ICD-11 MMS concepts restricted to the Diagnosis (14,071) and Finding (5,590)
|
||||
concept classes, totalling 19,661 concepts as of version 2025-01.
|
||||
|
||||
This ValueSet is the binding target for Condition.code in the BD-Core
|
||||
Condition profile. Substance, Organism, Device, Anatomy, and Misc class
|
||||
concepts are excluded and SHALL NOT appear as standalone stem codes in
|
||||
Condition.code. This restriction applies to stem codes only — satellite
|
||||
codes carried in the icd11-cluster-expression extension are exempt.
|
||||
|
||||
This ValueSet is an empty stub. No compose block is declared because
|
||||
$expand is not supported by the national OCL terminology server and
|
||||
no machine-executable filter for concept_class is available at the
|
||||
IG layer. The compose would be nominal only and is omitted to avoid
|
||||
misrepresenting machine-executable semantics.
|
||||
|
||||
The ValueSet is hosted in OCL as a collection with 19,661 explicit
|
||||
concept references (Diagnosis and Finding classes only). Runtime
|
||||
enforcement is via OCL ValueSet $validate-code:
|
||||
|
||||
GET https://tr.ocl.dghs.gov.bd/api/fhir/ValueSet/$validate-code
|
||||
?url=https://fhir.dghs.gov.bd/core/ValueSet/bd-condition-icd11-diagnosis-valueset
|
||||
&system=http://id.who.int/icd/release/11/mms
|
||||
&code={code}
|
||||
|
||||
Confirmed behaviour:
|
||||
- Diagnosis class (e.g. 1A00): accepted
|
||||
- Finding class: accepted
|
||||
- Device class (e.g. XD7EB1): rejected
|
||||
- Substance class (e.g. XM6RB2): rejected
|
||||
|
||||
At the HAPI FHIR layer, enforcement is via RemoteTerminologyServiceValidationSupport
|
||||
configured to call OCL. HAPI FHIR deployment is a known gap to be closed
|
||||
before vendor onboarding.
|
||||
|
||||
VERSION UPGRADES:
|
||||
Upgrading to a new ICD-11 MMS release requires re-running
|
||||
populate_condition_valueset.py. Automated via version_upgrade.py.
|
||||
"""
|
||||
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-condition-icd11-diagnosis-valueset"
|
||||
* ^status = #active
|
||||
* ^experimental = false
|
||||
* ^version = "2025-01"
|
||||
* ^publisher = "Directorate General of Health Services (DGHS), MoHFW, Bangladesh"
|
||||
* ^contact.name = "DGHS Health Informatics Unit"
|
||||
* ^contact.telecom.system = #url
|
||||
* ^contact.telecom.value = "https://dghs.gov.bd"
|
||||
* ^jurisdiction = urn:iso:std:iso:3166#BD "Bangladesh"
|
||||
* ^copyright = "ICD-11 is copyright © World Health Organization. Used under licence."
|
||||
* ^immutable = false
|
||||
13
input/fsh/valueSets/BDEncounterClassSubsetVS.fsh
Normal file
13
input/fsh/valueSets/BDEncounterClassSubsetVS.fsh
Normal file
@@ -0,0 +1,13 @@
|
||||
// ---------- ValueSet ----------
|
||||
ValueSet: BDEncounterClassSubsetVS
|
||||
Id: bd-encounter-class-subset
|
||||
Title: "BD Encounter Class Subset"
|
||||
Description: "Subset of EncounterClass limited to inpatient, ambulatory, and emergency."
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-encounter-class-subset"
|
||||
* ^status = #active
|
||||
* ^experimental = false
|
||||
|
||||
// Explicitly include the three concepts from the core EncounterClass system
|
||||
* include http://terminology.hl7.org/CodeSystem/v3-ActCode#IMP "Inpatient"
|
||||
* include http://terminology.hl7.org/CodeSystem/v3-ActCode#AMB "Ambulatory"
|
||||
* include http://terminology.hl7.org/CodeSystem/v3-ActCode#EMER "Emergency"
|
||||
15
input/fsh/valueSets/BDEncounterStatusSubsetVS.fsh
Normal file
15
input/fsh/valueSets/BDEncounterStatusSubsetVS.fsh
Normal file
@@ -0,0 +1,15 @@
|
||||
// ---------- ValueSet ----------
|
||||
ValueSet: BDEncounterStatusSubsetVS
|
||||
Id: bd-encounter-status-subset
|
||||
Title: "BD Encounter Status Subset"
|
||||
Description: "Subset of EncounterStatus limited to planned, in-progress, finished, and cancelled."
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-encounter-status-subset"
|
||||
* ^status = #active
|
||||
* ^experimental = false
|
||||
|
||||
// Explicitly include the four concepts from the core code system
|
||||
* include http://hl7.org/fhir/encounter-status#planned "Planned"
|
||||
* include http://hl7.org/fhir/encounter-status#in-progress "In Progress"
|
||||
* include http://hl7.org/fhir/encounter-status#finished "Finished"
|
||||
* include http://hl7.org/fhir/encounter-status#cancelled "Cancelled"
|
||||
|
||||
7
input/fsh/valueSets/BDImmunizationReactionVS.fsh
Normal file
7
input/fsh/valueSets/BDImmunizationReactionVS.fsh
Normal file
@@ -0,0 +1,7 @@
|
||||
ValueSet: BDImmunizationReactionValueSet
|
||||
Id: bd-immunization-reaction-valueset
|
||||
Title: "Bangladesh Immunization Reaction Value Set"
|
||||
Description: "Allowed vaccine reactions for immunization in Bangladesh."
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-immunization-reaction-valueset"
|
||||
* ^status = #active
|
||||
* include codes from system BDImmunizationReactionCS
|
||||
7
input/fsh/valueSets/BDImmunizationRouteVS.fsh
Normal file
7
input/fsh/valueSets/BDImmunizationRouteVS.fsh
Normal file
@@ -0,0 +1,7 @@
|
||||
ValueSet: BDImmunizationRouteVS
|
||||
Id: bd-immunization-route-valueset
|
||||
Title: "Bangladesh Immunization Route Value Set"
|
||||
Description: "Allowed administration routes for vaccines in Bangladesh."
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-immunization-route-valueset"
|
||||
* ^status = #active
|
||||
* include codes from system BDImmunizationRouteCS
|
||||
8
input/fsh/valueSets/BDImmunizationSiteVs.fsh
Normal file
8
input/fsh/valueSets/BDImmunizationSiteVs.fsh
Normal file
@@ -0,0 +1,8 @@
|
||||
ValueSet: BDImmunizationSiteVS
|
||||
Id: bd-immunization-site-valueset
|
||||
Title: "Bangladesh Immunization Site Value Set"
|
||||
Description: "Allowed administration sites for vaccines in Bangladesh."
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-immunization-site-valueset"
|
||||
* ^status = #active
|
||||
* include codes from system BDImmunizationSiteCS
|
||||
|
||||
8
input/fsh/valueSets/BDLanguage.fsh
Normal file
8
input/fsh/valueSets/BDLanguage.fsh
Normal file
@@ -0,0 +1,8 @@
|
||||
ValueSet: BDLanguageVS
|
||||
Id: bd-language-valueset
|
||||
Title: "Allowed Languages"
|
||||
Description: "Only English and Bengali are allowed"
|
||||
* urn:ietf:bcp:47#en "English"
|
||||
* urn:ietf:bcp:47#bn "Bengali"
|
||||
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-language-valueset"
|
||||
7
input/fsh/valueSets/BDVaccineVS.fsh
Normal file
7
input/fsh/valueSets/BDVaccineVS.fsh
Normal file
@@ -0,0 +1,7 @@
|
||||
ValueSet: BDVaccineVS
|
||||
Id: bd-vaccine-valueset
|
||||
Title: "Bangladesh Vaccine Value Set"
|
||||
Description: "Allowed vaccines for immunization in Bangladesh."
|
||||
* ^url = "https://fhir.dghs.gov.bd/core/ValueSet/bd-vaccine-valueset"
|
||||
* ^status = #active
|
||||
* include codes from system BDVaccineCS
|
||||
@@ -1,6 +0,0 @@
|
||||
ValueSet: LanguageValueSet
|
||||
Id: language-valueset
|
||||
Title: "Allowed Languages"
|
||||
Description: "Only English and Bengali are allowed"
|
||||
* http://hl7.org/fhir/ValueSet/languages#en "English"
|
||||
* http://hl7.org/fhir/ValueSet/languages#bn "Bengali"
|
||||
@@ -1,115 +0,0 @@
|
||||
|
||||
Profile: BDPatientProfile
|
||||
|
||||
Id: bd-patient
|
||||
Parent: Patient
|
||||
Title: "Bangladesh Patient Profile"
|
||||
Description: "All patient information of BD"
|
||||
|
||||
// ^ url = https://fhir.dghs.gov.bd/core/StructureDefinition/bd-patient
|
||||
|
||||
* identifier 1..*
|
||||
|
||||
* identifier ^slicing.discriminator.type = #value
|
||||
* identifier ^slicing.discriminator.path = "system"
|
||||
* identifier ^slicing.rules = #open
|
||||
* identifier ^slicing.description = "Identifier"
|
||||
* identifier ^slicing.ordered = false
|
||||
|
||||
// nid, brn, uhid, passport, dl, tin
|
||||
// * identifier contains nid 0..1 and brn 0..1 and uhid 0..1 and passport 0..1 and dl 0..1 and tin 0..1
|
||||
|
||||
// * name 2..2
|
||||
|
||||
// * name ^slicing.discriminator.type = #value
|
||||
// * name ^slicing.discriminator.path = ""
|
||||
// * name ^slicing.rules = #open
|
||||
// * name ^slicing.description = "Patient names (Bangla and English required) "
|
||||
// * name ^slicing.ordered = false
|
||||
|
||||
// * name contains
|
||||
// bangla 1..1 and
|
||||
// english 1..1
|
||||
|
||||
// * name[bangla].text = "Full name in Bangla"
|
||||
// //* name[bangla].language = "BN"
|
||||
|
||||
// * name[english].text 1..1
|
||||
|
||||
* name 1..1
|
||||
* name.text 1..1
|
||||
|
||||
* birthDate 1..1
|
||||
//* birthplace 1..1
|
||||
|
||||
* gender 1..1
|
||||
* gender from http://hl7.org/fhir/ValueSet/administrative-gender
|
||||
|
||||
* telecom 0..* MS
|
||||
* telecom.system 1..1
|
||||
* telecom.system from http://hl7.org/fhir/ValueSet/contact-point-system (required)
|
||||
* telecom.value 1..1
|
||||
* telecom.use 0..1
|
||||
* telecom.use from http://hl7.org/fhir/ValueSet/contact-point-use (required)
|
||||
|
||||
* extension contains http://hl7.org/fhir/StructureDefinition/patient-nationality named PatientNationality 1..1
|
||||
|
||||
|
||||
* link 2..*
|
||||
* link ^slicing.discriminator.type = #value
|
||||
* link ^slicing.discriminator.path = "system"
|
||||
* link ^slicing.rules = #open
|
||||
* link ^slicing.description = ""
|
||||
* link ^slicing.ordered = false
|
||||
|
||||
* link contains
|
||||
father 1..1 and
|
||||
mother 1..1
|
||||
|
||||
// * link[father].other.reference 1..1
|
||||
|
||||
|
||||
// * link[father].other.identifier 0..1
|
||||
// definition of identifier
|
||||
|
||||
// TODO
|
||||
// * link[father].other.identifier from BdIdentifierTypeVS (required)
|
||||
|
||||
// * link[father].other.relationship 1..1
|
||||
// definition of relationship
|
||||
|
||||
// * link[mother].other only Reference(RelatedPerson)
|
||||
// * link[mother].other.reference 1..1
|
||||
|
||||
// * link[mother].other.identifier 0..1
|
||||
// TODO
|
||||
// * link[mother].other.identifier from BdIdentifierTypeVS (required)
|
||||
|
||||
Profile: RelatedPersonMother
|
||||
Id: relatedperson-mother
|
||||
Parent: RelatedPerson
|
||||
Title: "RelatedPerson Mother Profile"
|
||||
Description: "Profile for RelatedPerson representing the mother"
|
||||
* relationship.coding.code = #MTH
|
||||
* identifier 1..1
|
||||
|
||||
// TODO
|
||||
// * identifier includes codes from system BdIdentifierTypeVs# (required)
|
||||
// * identifier from BdIdentifierTypeVs# (required)
|
||||
|
||||
|
||||
Profile: RelatedPersonFather
|
||||
Id: relatedperson-father
|
||||
Parent: RelatedPerson
|
||||
Title: "RelatedPerson Father Profile"
|
||||
Description: "Profile for RelatedPerson representing the father"
|
||||
* relationship.coding.code = #FTH
|
||||
* identifier 1..1
|
||||
|
||||
// TODO
|
||||
// * includes codes from system BdIdentifierTypeVs# (required)
|
||||
|
||||
|
||||
//Address
|
||||
* address 1..* MS
|
||||
* address only BDAddress
|
||||
@@ -1,48 +0,0 @@
|
||||
{
|
||||
"resourceType" : "Bundle",
|
||||
"id" : "h1",
|
||||
"type" : "collection",
|
||||
"entry" : [
|
||||
{
|
||||
"fullUrl" : "http://somewhere.org/fhir/uv/myig/Provenance/h1-1",
|
||||
"resource" : {
|
||||
"resourceType" : "Provenance",
|
||||
"id" : "h1-1",
|
||||
"target" : [ { "reference" : "StructureDefinition/myObservation" } ],
|
||||
"occurredDateTime" : "2015-11-30",
|
||||
"recorded" : "2020-01-01T00:00:00.000Z",
|
||||
"reason" : [
|
||||
{
|
||||
"text" : "Add \"conductible\" property to ActRelationshipType and ParticipationType codes.for ContextConduction RIM Change. And create Concept domain CodeSystem and ValueSet for ContextConductionStyle"
|
||||
}
|
||||
],
|
||||
"activity" : {
|
||||
"coding" : [{
|
||||
"system" : "http://terminology.hl7.org/CodeSystem/v3-DataOperation",
|
||||
"code" : "UPDATE"
|
||||
}]
|
||||
},
|
||||
"agent" : [
|
||||
{
|
||||
"type" : {
|
||||
"coding" : [{
|
||||
"system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
|
||||
"code" : "author"
|
||||
}]
|
||||
},
|
||||
"who" : { "display" : "Rob Hausam" }
|
||||
},
|
||||
{
|
||||
"type" : {
|
||||
"coding" : [{
|
||||
"system" : "http://terminology.hl7.org/CodeSystem/provenance-participant-type",
|
||||
"code" : "verifier"
|
||||
}]
|
||||
},
|
||||
"who" : { "display" : "Vocab" }
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 35 KiB |
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 |
@@ -1,20 +0,0 @@
|
||||
<StructureDefinition xmlns="http://hl7.org/fhir">
|
||||
<id value="bd-patient"/>
|
||||
<url value="https://fhir.dghs.gov.bd/core/StructureDefinition/bd-patient"/>
|
||||
<name value="BDPatient"/>
|
||||
<title value="Bangladesh Patient Profile"/>
|
||||
<status value="draft"/>
|
||||
<fhirVersion value="4.0.1"/>
|
||||
<kind value="resource"/>
|
||||
<abstract value="false"/>
|
||||
<type value="Patient"/>
|
||||
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Patient"/>
|
||||
<derivation value="constraint"/>
|
||||
<differential>
|
||||
<!-- Example: constrain identifier system -->
|
||||
<element id="Patient.identifier.system">
|
||||
<path value="Patient.identifier.system"/>
|
||||
<fixedUri value="https://fhir.dghs.gov.bd/core/identifier"/>
|
||||
</element>
|
||||
</differential>
|
||||
</StructureDefinition>
|
||||
@@ -38,4 +38,6 @@
|
||||
</li>
|
||||
</ul>
|
||||
</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>
|
||||
|
||||
63
input/package-list.json
Normal file
63
input/package-list.json
Normal file
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"package-id": "bd.fhir.core",
|
||||
"title": "Bangladesh Core FHIR Implementation Guide",
|
||||
"canonical": "https://fhir.dghs.gov.bd/core",
|
||||
"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 in development)",
|
||||
"path": "https://fhir.dghs.gov.bd/core/",
|
||||
"status": "ci-build",
|
||||
"current": true
|
||||
},
|
||||
{
|
||||
"version": "0.2.5",
|
||||
"date": "2025-10-06",
|
||||
"desc": "Minor bug fix release",
|
||||
"path": "https://fhir.dghs.gov.bd/core/0.2.5/",
|
||||
"status": "trial-use",
|
||||
"sequence": "STU 1"
|
||||
},
|
||||
{
|
||||
"version": "0.2.4",
|
||||
"date": "2025-10-06",
|
||||
"desc": "Minor visual improvements",
|
||||
"path": "https://fhir.dghs.gov.bd/core/0.2.4/",
|
||||
"status": "trial-use",
|
||||
"sequence": "STU 1"
|
||||
},
|
||||
{
|
||||
"version": "0.2.3",
|
||||
"date": "2025-10-06",
|
||||
"desc": "Minor documentation updates",
|
||||
"path": "https://fhir.dghs.gov.bd/core/0.2.3/",
|
||||
"status": "trial-use",
|
||||
"sequence": "STU 1"
|
||||
},
|
||||
{
|
||||
"version": "0.2.2",
|
||||
"date": "2025-10-06",
|
||||
"desc": "Minor bug fix release",
|
||||
"path": "https://fhir.dghs.gov.bd/core/0.2.2/",
|
||||
"status": "trial-use",
|
||||
"sequence": "STU 1"
|
||||
},
|
||||
{
|
||||
"version": "0.2.1",
|
||||
"date": "2025-10-06",
|
||||
"desc": "Second draft release of the Bangladesh Core FHIR IG",
|
||||
"path": "https://fhir.dghs.gov.bd/core/0.2.1/",
|
||||
"status": "trial-use",
|
||||
"sequence": "STU 1"
|
||||
},
|
||||
{
|
||||
"version": "0.2.0",
|
||||
"date": "2025-10-02",
|
||||
"desc": "First draft release of the Bangladesh Core FHIR IG",
|
||||
"path": "https://fhir.dghs.gov.bd/core/0.2.0/",
|
||||
"status": "trial-use",
|
||||
"sequence": "STU 1"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
### Introduction
|
||||
Introductory guidance on myExtension
|
||||
@@ -1,2 +0,0 @@
|
||||
### Notes
|
||||
Usage notes on myExtension
|
||||
@@ -1,5 +0,0 @@
|
||||
<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">
|
||||
<p>
|
||||
Introductory guidance on the patient profile
|
||||
</p>
|
||||
</div>
|
||||
@@ -1,5 +0,0 @@
|
||||
<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">
|
||||
<p>
|
||||
Usage notes on the patient profile
|
||||
</p>
|
||||
</div>
|
||||
@@ -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">
|
||||
<h3>Heading 1</h3>
|
||||
<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>Heading 2</h3>
|
||||
|
||||
<h3>Motivation</h3>
|
||||
<p>
|
||||
<img height="600" src="anImage.png" alt="A sample image"/>
|
||||
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>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -3,31 +3,24 @@
|
||||
<a name="intro"> </a>
|
||||
<h3>Introduction</h3>
|
||||
<p>
|
||||
What is this IG about (in patient/non-expert friendly terms).
|
||||
The Bangladesh Core FHIR Implementation Guide (BD-Core-FHIR-IG) is part of the Bangladesh Digital Health Blueprint. It defines how health information should be exchanged across systems in Bangladesh in a safe, standardized, and interoperable way.
|
||||
</p>
|
||||
<p>
|
||||
By adopting international FHIR standards, this guide helps ensure that patient data can flow smoothly between hospitals, clinics, and national programs, while also enabling future cross-border health information exchange.
|
||||
</p>
|
||||
<a name="technical"> </a>
|
||||
<h3>Technical Overview</h3>
|
||||
<p>
|
||||
Additional detail/context setting for those who have significant background in the domain. (Try to make as understandable as you can, but
|
||||
set important context).
|
||||
This guide provides national FHIR profiles, value sets, and terminology bindings that software developers and system implementers must use when designing digital health applications for Bangladesh. Using these standards ensures consistency, reduces duplication, and supports patient-centered care.
|
||||
</p>
|
||||
<a name="walkthrough"> </a>
|
||||
<p>
|
||||
The main sections of this IG are:
|
||||
</p>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="background.html">Background</a> - provides business context for the implementation guide and information that implementers should be
|
||||
familiar with before reading the remainder of the IG. There could be multiple pages for this.
|
||||
</li>
|
||||
<li>
|
||||
<a href="spec.html">Detailed Specification</a> - The actual stuff implementers are expected to do. (Could be multiple pages for this.)
|
||||
</li>
|
||||
<li>
|
||||
<a href="fragments.html">Fragments</a> - Guidance about how to embed fragments in an IG
|
||||
</li>
|
||||
<li>
|
||||
<a href="downloads.html">Downloads</a> - Allows downloading a copy of this implementation guide and other useful information
|
||||
</li>
|
||||
<li><a href="background.html">Background</a> - Context and rationale for the IG</li>
|
||||
<li><a href="spec.html">Detailed Specification</a> - Profiles, value sets, and conformance requirements</li>
|
||||
<li><a href="fragments.html">Fragments</a> - Guidance about how to embed fragments in an IG</li>
|
||||
<li><a href="downloads.html">Downloads</a> - Allows downloading a copy of this implementation guide and other useful information</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -1,5 +1,135 @@
|
||||
### A Heading
|
||||
You can also use markdown if that's your thing
|
||||
## Bangladesh Core FHIR Implementation Guide — General Specification
|
||||
|
||||
And an icon: 
|
||||
### Purpose and Scope
|
||||
|
||||
This Implementation Guide (IG) defines the national FHIR R4 core profiles,
|
||||
value sets, code systems, extensions, and implementation rules for digital
|
||||
health systems in Bangladesh. It is published by the Directorate General of
|
||||
Health Services (DGHS), Ministry of Health and Family Welfare (MoHFW).
|
||||
|
||||
This IG is a foundational component of the **Shareable Health Record (SHR)**
|
||||
system — the national Health Information Exchange (HIE) and gateway for
|
||||
producing a Personal Health Profile for every citizen of Bangladesh.
|
||||
|
||||
This IG is aligned with and gives technical expression to:
|
||||
- **Bangladesh Digital Health Strategy 2023–2027**
|
||||
- **Bangladesh Digital Health Architecture Blueprint**
|
||||
|
||||
The Patient profile strictly conforms to the **Citizen Core Data Structure
|
||||
(CCDS)** defined by the Cabinet Division of the Government of Bangladesh.
|
||||
|
||||
---
|
||||
|
||||
### Intended Audience
|
||||
|
||||
This IG is addressed to all software systems exchanging health data with
|
||||
the national SHR, including but not limited to:
|
||||
|
||||
- Electronic Medical Record (EMR) systems
|
||||
- Laboratory Information Systems (LIS)
|
||||
- Picture Archiving and Communication Systems (PACS)
|
||||
- Hospital Information Systems (HIS)
|
||||
|
||||
This includes systems operated by public sector facilities, private
|
||||
hospitals and clinics, autonomous bodies, and non-governmental
|
||||
organisations (NGOs) operating within Bangladesh.
|
||||
|
||||
---
|
||||
|
||||
### FHIR Version and Conventions
|
||||
|
||||
This IG is built on **FHIR R4 (4.0.1)**. All profiles, extensions, value
|
||||
sets, and code systems defined here conform to the FHIR R4 specification.
|
||||
|
||||
Conformance language in this IG follows **RFC 2119**: SHALL, SHALL NOT,
|
||||
SHOULD, SHOULD NOT, and MAY carry their standard normative meanings.
|
||||
|
||||
---
|
||||
|
||||
### Design Principles
|
||||
|
||||
**1. National terminology over international defaults**
|
||||
Where international code systems are used (ICD-11, LOINC, SNOMED CT),
|
||||
they are bound through national infrastructure. The national OpenConceptLab
|
||||
(OCL) terminology server at `https://tr.ocl.dghs.gov.bd` is the single
|
||||
public-facing terminology resolution point. Vendors never interact with
|
||||
upstream terminology sources directly.
|
||||
|
||||
**2. HIE boundary enforcement**
|
||||
All vendor submissions pass through the national SHR HIE boundary. Mandatory
|
||||
validation gates — including the Bangladesh ICD-11 Cluster Validator — are
|
||||
applied at the HIE layer. Profile conformance is a necessary but not
|
||||
sufficient condition for acceptance; HIE boundary rules apply additionally.
|
||||
|
||||
**3. Open slicing for extensibility**
|
||||
Where slices are defined on coding elements, slicing is open (`#open`).
|
||||
Mandatory slices enforce the presence of nationally required codes;
|
||||
additional local or proprietary codings are permitted alongside them.
|
||||
This ensures national interoperability without preventing systems from
|
||||
carrying additional coded data.
|
||||
|
||||
**4. Citizen-centred identity**
|
||||
The Patient profile conforms to the Citizen Core Data Structure (CCDS),
|
||||
ensuring that patient identity in the SHR is anchored to the national
|
||||
citizen identity infrastructure.
|
||||
|
||||
**5. Must Support obligations**
|
||||
Must Support (MS) in this IG means that conformant systems SHALL be capable
|
||||
of populating the element if the data is held by the system, and SHALL be
|
||||
capable of processing it when received. Specific sender and receiver
|
||||
obligations are \[TODO: to be defined in a future revision\].
|
||||
|
||||
---
|
||||
|
||||
### Profiles
|
||||
|
||||
The following national core profiles are defined in this IG:
|
||||
|
||||
| Profile | Base Resource | Purpose |
|
||||
|---|---|---|
|
||||
| [BD Patient](StructureDefinition-bd-patient.html) | Patient | Citizen identity conforming to CCDS |
|
||||
| [BD Condition](StructureDefinition-bd-condition.html) | Condition | Clinical conditions coded with ICD-11 MMS |
|
||||
| [BD Observation](StructureDefinition-bd-observation.html) | Observation | Vital signs, laboratory results, clinical findings |
|
||||
| [BD Encounter](StructureDefinition-bd-encounter.html) | Encounter | Clinical visits and episodes of care |
|
||||
| [BD Medication](StructureDefinition-bd-medication.html) | Medication | Medication definitions |
|
||||
| [BD MedicationRequest](StructureDefinition-bd-medicationrequest.html) | MedicationRequest | Prescriptions and medication orders |
|
||||
| [BD Immunization](StructureDefinition-bd-immunization.html) | Immunization | Vaccination records |
|
||||
| [BD Organization](StructureDefinition-bd-organization.html) | Organization | Health facilities and organisations |
|
||||
| [BD Practitioner](StructureDefinition-bd-practitioner.html) | Practitioner | Healthcare providers |
|
||||
| [BD Location](StructureDefinition-bd-location.html) | Location | Physical locations and administrative geography |
|
||||
|
||||
---
|
||||
|
||||
### Terminology
|
||||
|
||||
The following external code systems are used in this IG:
|
||||
|
||||
| System | URI | Purpose |
|
||||
|---|---|---|
|
||||
| ICD-11 MMS | `http://id.who.int/icd/release/11/mms` | Condition coding |
|
||||
| LOINC | `http://loinc.org` | Observation coding |
|
||||
| UCUM | `http://unitsofmeasure.org` | Observation units |
|
||||
| SNOMED CT | `http://snomed.info/sct` | Clinical terminology |
|
||||
|
||||
Runtime terminology resolution is provided by the national OCL terminology
|
||||
server. See the [ICD-11 Implementation](icd11.html) page for full details
|
||||
of ICD-11 integration, postcoordination conventions, and conformance
|
||||
requirements.
|
||||
|
||||
---
|
||||
|
||||
### Known Gaps and Planned Work
|
||||
|
||||
This IG is currently at version 0.2.5 with status `draft`. The following
|
||||
are known gaps to be addressed in future revisions:
|
||||
|
||||
- **Must Support semantics** — sender and receiver obligations not yet
|
||||
formally defined
|
||||
- **Capability Statements** — no CapabilityStatement resources defined yet
|
||||
- **Search Parameters** — no defined search parameter requirements yet
|
||||
- **Transaction Patterns** — no defined FHIR transaction or message patterns yet
|
||||
- **HAPI FHIR deployment** — `RemoteTerminologyServiceValidationSupport`
|
||||
configuration for OCL not yet deployed; this is a prerequisite for
|
||||
runtime ICD-11 class restriction enforcement before vendor onboarding
|
||||
- **Must Support definitions per profile** — individual profile pages do
|
||||
not yet carry explicit MS obligation tables
|
||||
|
||||
@@ -1,2 +1,244 @@
|
||||
### A Heading
|
||||
A child specification page with more detail
|
||||
## ICD-11 Implementation
|
||||
|
||||
### Overview
|
||||
|
||||
The Bangladesh Core FHIR Implementation Guide uses ICD-11 Mortality and
|
||||
Morbidity Statistics (MMS) as the mandatory coding system for clinical
|
||||
conditions. This page documents the system URI, terminology infrastructure,
|
||||
conformance requirements, and postcoordination conventions for implementers.
|
||||
|
||||
---
|
||||
|
||||
### System URI
|
||||
|
||||
All ICD-11 MMS codes SHALL use the WHO canonical system URI:
|
||||
```
|
||||
http://id.who.int/icd/release/11/mms
|
||||
```
|
||||
|
||||
The preferred code form is the short stem code (e.g. `1A00`, `NC72.Z`).
|
||||
Linearization URIs are not used as code identifiers in this IG.
|
||||
|
||||
---
|
||||
|
||||
### Terminology Infrastructure
|
||||
|
||||
#### National OCL Terminology Server
|
||||
|
||||
Runtime code validation and lookup are delegated to the national
|
||||
OpenConceptLab (OCL) terminology server operated by DGHS/MoHFW:
|
||||
|
||||
**Public FHIR R4 endpoint:** `https://tr.ocl.dghs.gov.bd`
|
||||
|
||||
OCL hosts ICD-11 MMS version 2025-01 with 36,941 concepts across the
|
||||
following concept classes: Diagnosis, Finding, Substance, Organism,
|
||||
Device, Anatomy, and Misc.
|
||||
|
||||
Vendors do not interact with OCL directly. All vendor submissions are
|
||||
validated at the HIE boundary via the Bangladesh ICD-11 Cluster Validator
|
||||
(see [Cluster Expressions](#cluster-expressions) below).
|
||||
|
||||
#### Supported OCL Operations
|
||||
|
||||
The following FHIR terminology operations are supported. The `system=`
|
||||
parameter must be used — `url=` is not supported by OCL.
|
||||
|
||||
**CodeSystem $validate-code**
|
||||
```
|
||||
GET https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$validate-code
|
||||
?system=http://id.who.int/icd/release/11/mms&code={code}
|
||||
```
|
||||
|
||||
**CodeSystem $lookup**
|
||||
```
|
||||
GET https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$lookup
|
||||
?system=http://id.who.int/icd/release/11/mms&code={code}
|
||||
```
|
||||
|
||||
**ValueSet $validate-code**
|
||||
```
|
||||
GET https://tr.ocl.dghs.gov.bd/api/fhir/ValueSet/$validate-code
|
||||
?url=https://fhir.dghs.gov.bd/core/ValueSet/bd-condition-icd11-diagnosis-valueset
|
||||
&system=http://id.who.int/icd/release/11/mms&code={code}
|
||||
```
|
||||
|
||||
#### Unsupported OCL Operations
|
||||
|
||||
`$expand` is not supported — this is a known limitation of the national
|
||||
OCL instance. Build-time expansion is suppressed. Implementers SHALL NOT
|
||||
depend on `$expand` for ICD-11 ValueSets in this IG.
|
||||
|
||||
#### Local ICD-11 Docker Instance
|
||||
|
||||
A local WHO ICD-11 Docker instance is maintained internally by DGHS at
|
||||
`https://icd11.dghs.gov.bd` running release 2025-01. This instance is
|
||||
internal only and is not exposed to vendors. It serves as the import
|
||||
source for OCL and as the backend for the cluster validator.
|
||||
|
||||
---
|
||||
|
||||
### Condition.code Binding and Class Restriction
|
||||
|
||||
`Condition.code` is bound to the
|
||||
[Bangladesh ICD-11 MMS Condition ValueSet](ValueSet-bd-condition-icd11-diagnosis-valueset.html)
|
||||
at `preferred` strength. This ValueSet includes only Diagnosis (14,071)
|
||||
and Finding (5,590) class concepts — 19,661 concepts total as of
|
||||
version 2025-01.
|
||||
|
||||
`Condition.code` SHALL contain at least one coding conforming to the
|
||||
`coding[stem]` slice with `system = http://id.who.int/icd/release/11/mms`.
|
||||
Vendors cannot omit ICD-11 by substituting a local code.
|
||||
|
||||
The following concept classes SHALL NOT appear as standalone stem codes
|
||||
in `Condition.code`: Substance, Organism, Device, Anatomy, Misc.
|
||||
|
||||
This restriction exists because these classes represent entities that
|
||||
are not themselves diagnoses or clinical findings — they are axes used
|
||||
in postcoordination (e.g. a causative substance, an affected anatomy
|
||||
site). Their correct use is as satellite codes within a cluster
|
||||
expression, not as standalone condition codes.
|
||||
|
||||
Class restriction is enforced at runtime via OCL ValueSet `$validate-code`
|
||||
against the Bangladesh ICD-11 MMS Condition ValueSet. At the HAPI FHIR
|
||||
layer, enforcement is via `RemoteTerminologyServiceValidationSupport`
|
||||
configured to call OCL. HAPI FHIR deployment will be completed before
|
||||
vendor onboarding.
|
||||
|
||||
The `coding[stem]` slice is open (`#open`) — additional local codings
|
||||
are permitted alongside the mandatory ICD-11 stem.
|
||||
|
||||
---
|
||||
|
||||
### Cluster Expressions
|
||||
|
||||
#### Background
|
||||
|
||||
ICD-11 supports postcoordination — the combination of a stem code with
|
||||
one or more satellite codes to precisely represent a clinical concept
|
||||
that cannot be expressed by a stem code alone. A postcoordinated
|
||||
expression is called a cluster expression.
|
||||
|
||||
Cluster expressions are typically sourced from the WHO Electronic Coding
|
||||
Tool (ECT) at the point of care.
|
||||
|
||||
#### Syntax
|
||||
|
||||
A cluster expression combines a stem code with satellite codes using
|
||||
the `&` operator (combination) or `/` operator (specificity):
|
||||
```
|
||||
NC72.Z&XK8G&XJ7ZH&XJ7YM
|
||||
```
|
||||
|
||||
Where:
|
||||
- `NC72.Z` — stem code: Fracture of femur, unspecified
|
||||
- `XK8G` — satellite: laterality
|
||||
- `XJ7ZH` — satellite: fracture subtype
|
||||
- `XJ7YM` — satellite: fracture open or closed
|
||||
|
||||
#### FHIR Representation
|
||||
|
||||
The stem code is carried in `Coding.code`. The full cluster expression
|
||||
is carried in the
|
||||
[ICD-11 Cluster Expression extension](StructureDefinition-icd11-cluster-expression.html)
|
||||
on the same `Coding` element:
|
||||
```json
|
||||
"code": {
|
||||
"coding": [
|
||||
{
|
||||
"system": "http://id.who.int/icd/release/11/mms",
|
||||
"code": "NC72.Z",
|
||||
"display": "Fracture of femur, unspecified",
|
||||
"extension": [
|
||||
{
|
||||
"url": "https://fhir.dghs.gov.bd/core/StructureDefinition/icd11-cluster-expression",
|
||||
"valueString": "NC72.Z&XK8G&XJ7ZH&XJ7YM"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"text": "Fracture of femur, unspecified — left, transverse, closed"
|
||||
}
|
||||
```
|
||||
|
||||
The stem code in `Coding.code` SHALL match the leading stem code in the
|
||||
cluster expression string.
|
||||
|
||||
#### Stem-Only vs Cluster
|
||||
|
||||
| Scenario | Representation | Validation |
|
||||
|---|---|---|
|
||||
| Single stem code | `Coding.code` only | OCL `$validate-code` |
|
||||
| Postcoordinated expression | `Coding.code` + cluster extension | Cluster Validator |
|
||||
|
||||
The cluster validator explicitly rejects stem-only expressions. Single
|
||||
stem codes SHALL be represented in `Coding.code` only and validated via
|
||||
OCL `$validate-code`.
|
||||
|
||||
#### Satellite Code Class Restriction Exemption
|
||||
|
||||
Satellite codes in a cluster expression are exempt from the
|
||||
Diagnosis/Finding class restriction that applies to stem codes in
|
||||
`Condition.code`. Substance, Anatomy, Organism, and other axis codes
|
||||
are valid and expected as satellites.
|
||||
|
||||
#### Bangladesh ICD-11 Cluster Validator
|
||||
|
||||
All postcoordinated cluster expressions SHALL be validated against the
|
||||
Bangladesh ICD-11 Cluster Validator prior to submission to the HIE:
|
||||
```
|
||||
POST https://icd11.dghs.gov.bd/cluster/validate
|
||||
Content-Type: application/json
|
||||
|
||||
{"expression": "NC72.Z&XK8G&XJ7ZH&XJ7YM"}
|
||||
```
|
||||
|
||||
Example response:
|
||||
```json
|
||||
{
|
||||
"valid": true,
|
||||
"stem": {
|
||||
"code": "NC72.Z",
|
||||
"display": "Fracture of femur, unspecified",
|
||||
"ocl_validated": true
|
||||
},
|
||||
"satellites": [
|
||||
{"code": "XK8G", "axis": "laterality", "valid": true},
|
||||
{"code": "XJ7ZH", "axis": "fractureSubtype", "valid": true},
|
||||
{"code": "XJ7YM", "axis": "fractureOpenOrClosed", "valid": true}
|
||||
],
|
||||
"errors": []
|
||||
}
|
||||
```
|
||||
|
||||
The cluster validator is a mandatory HIE boundary gate. All vendor
|
||||
submissions containing postcoordinated ICD-11 expressions pass through it.
|
||||
|
||||
---
|
||||
|
||||
### Conformance Statements
|
||||
|
||||
**ICD-11-CONF-01:** ICD-11 MMS codes SHALL use system URI
|
||||
`http://id.who.int/icd/release/11/mms`. Stem code validation is available
|
||||
via OCL at:
|
||||
`https://tr.ocl.dghs.gov.bd/api/fhir/CodeSystem/$validate-code?system=http://id.who.int/icd/release/11/mms&code={code}`
|
||||
|
||||
**ICD-11-CONF-02:** The `icd11-cluster-expression` extension SHALL only
|
||||
be present when the expression contains at least one postcoordination
|
||||
satellite code using `&` or `/` operators. Single stem codes SHALL be
|
||||
represented in `Coding.code` only and validated via OCL `$validate-code`.
|
||||
|
||||
**ICD-11-CONF-03:** Postcoordinated cluster expressions SHALL be validated
|
||||
against the Bangladesh ICD-11 Cluster Validator at
|
||||
`https://icd11.dghs.gov.bd/cluster/validate` prior to submission to the HIE.
|
||||
|
||||
**ICD-11-CONF-04:** `Condition.code` SHALL contain at least one coding
|
||||
conforming to the `coding[stem]` slice with
|
||||
`system = http://id.who.int/icd/release/11/mms`. The stem code SHALL be
|
||||
a member of the Bangladesh ICD-11 MMS Condition ValueSet, which includes
|
||||
only Diagnosis and Finding class concepts. This restriction is enforced
|
||||
at runtime via OCL ValueSet `$validate-code`.
|
||||
|
||||
**ICD-11-CONF-05:** Substance, Organism, Device, Anatomy, and Misc class
|
||||
ICD-11 concepts SHALL NOT appear as standalone stem codes in
|
||||
`Condition.code`. This restriction does not apply to satellite codes
|
||||
carried in the `icd11-cluster-expression` extension.
|
||||
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"
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"resourceType" : "ActorDefinition",
|
||||
"id" : "example",
|
||||
"extension" : [{
|
||||
"url" : "http://hl7.org/fhir/tools/StructureDefinition/ig-actor-example-url",
|
||||
"valueUrl" : "http://somewhere.else.org/pas/server"
|
||||
}],
|
||||
"url" : "http://somewhere.org/fhir/uv/myig/ActorDefinition/example",
|
||||
"name" : "ExampleServer",
|
||||
"title" : "Example Server",
|
||||
"status" : "active",
|
||||
"date" : "2021-11-02T14:31:30.239Z",
|
||||
"description" : "Client Actor",
|
||||
"type" : "system"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -1,39 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<StructureDefinition xmlns="http://hl7.org/fhir">
|
||||
<id value="bd-logical"/>
|
||||
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-namespace">
|
||||
<valueUri value="http://example.org/logical"/>
|
||||
</extension>
|
||||
<url value="https://fhir.dghs.gov.bd/core/StructureDefinition/bd-logical"/>
|
||||
<name value="BDLogical"/>
|
||||
<title value="Bangladesh Logical Model"/>
|
||||
<status value="draft"/>
|
||||
<description value="A profile showing the use of Logical Models to author profiles"/>
|
||||
<fhirVersion value="4.0.0"/>
|
||||
<kind value="logical"/>
|
||||
<abstract value="false"/>
|
||||
<type value="bd-logical"/>
|
||||
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Element"/>
|
||||
<derivation value="specialization"/>
|
||||
<differential>
|
||||
<element id="bd-logical">
|
||||
<path value="bd-logical"/>
|
||||
</element>
|
||||
<element id="bd-logical.element1">
|
||||
<path value="bd-logical.element1"/>
|
||||
<min value="0"/>
|
||||
<max value="1"/>
|
||||
<type>
|
||||
<code value="integer"/>
|
||||
</type>
|
||||
</element>
|
||||
<element id="bd-logical.element2">
|
||||
<path value="bd-logical.element2"/>
|
||||
<min value="0"/>
|
||||
<max value="1"/>
|
||||
<type>
|
||||
<code value="string"/>
|
||||
</type>
|
||||
</element>
|
||||
</differential>
|
||||
</StructureDefinition>
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CodeSystem xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas/R4/fhir-single.xsd">
|
||||
<id value="cs-fake"/>
|
||||
<url value="http://somewhere.org/fhir/uv/myig/CodeSystem/cs-fake"/>
|
||||
<name value="CodeSystemFake"/>
|
||||
<title value="CodeSystem fake"/>
|
||||
<status value="draft"/>
|
||||
<experimental value="true"/>
|
||||
<date value="2015-06-22"/>
|
||||
<description value="A fake code system"/>
|
||||
<caseSensitive value="true"/>
|
||||
<content value="complete"/>
|
||||
<concept>
|
||||
<code value="01"/>
|
||||
<display value="CS1"/>
|
||||
<designation>
|
||||
<value value="CS2"/>
|
||||
</designation>
|
||||
</concept>
|
||||
</CodeSystem>
|
||||
File diff suppressed because one or more lines are too long
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Library xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas/R4/fhir-single.xsd">
|
||||
<url value="https://fhir.dghs.gov.bd/core/Library/example-sql"/>
|
||||
<version value="1.0.0"/>
|
||||
<name value="ExampleLibrary"/>
|
||||
<title value="Example Library"/>
|
||||
<status value="draft"/>
|
||||
<experimental value="true"/>
|
||||
<type>
|
||||
<coding>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/library-type"/>
|
||||
<code value="asset-collection"/>
|
||||
</coding>
|
||||
</type>
|
||||
<date value="2020-05-15T00:00:00.000+10:00"/>
|
||||
<content>
|
||||
<contentType value="text/x-sql"/>
|
||||
<data value="U0VMRUNUIEN1c3RvbWVycy5DdXN0b21lck5hbWUsIE9yZGVycy5PcmRlcklEDQpGUk9NIEN1c3RvbWVycw0KTEVGVCBKT0lOIE9yZGVycw0KT04gQ3VzdG9tZXJzLkN1c3RvbWVySUQ9T3JkZXJzLkN1c3RvbWVySUQNCk9SREVSIEJZIEN1c3RvbWVycy5DdXN0b21lck5hbWU7DQo="/>
|
||||
</content>
|
||||
</Library>
|
||||
@@ -1,396 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<StructureDefinition xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas/R4/fhir-single.xsd">
|
||||
<id value="myObservation"/>
|
||||
<url value="http://somewhere.org/fhir/uv/myig/StructureDefinition/myObservation"/>
|
||||
<identifier>
|
||||
<type>
|
||||
<coding>
|
||||
<system value="http://example.org/some-id-type-system"/>
|
||||
<code value="foo"/>
|
||||
</coding>
|
||||
<text value="Some OID"/>
|
||||
</type>
|
||||
<value value="0.1.2.3.1"/>
|
||||
</identifier>
|
||||
<identifier>
|
||||
<type>
|
||||
<coding>
|
||||
<system value="http://example.org/some-id-type-system"/>
|
||||
<code value="foo"/>
|
||||
</coding>
|
||||
<coding>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/v2-0203"/>
|
||||
<code value="AM"/>
|
||||
<display value="American Express"/>
|
||||
</coding>
|
||||
</type>
|
||||
<value value="0.1.2.3.2"/>
|
||||
</identifier>
|
||||
<identifier>
|
||||
<type>
|
||||
<coding>
|
||||
<system value="http://example.org/some-id-type-system"/>
|
||||
<code value="ACSN"/>
|
||||
</coding>
|
||||
</type>
|
||||
<value value="0.1.2.3.3"/>
|
||||
</identifier>
|
||||
<identifier>
|
||||
<type>
|
||||
<coding>
|
||||
<system value="http://example.org/some-id-type-system"/>
|
||||
<code value="123"/>
|
||||
</coding>
|
||||
</type>
|
||||
<value value="0.1.2.3.4"/>
|
||||
</identifier>
|
||||
<identifier>
|
||||
<use value="official"/>
|
||||
</identifier>
|
||||
<identifier>
|
||||
<value value="0.1.2.3.5"/>
|
||||
</identifier>
|
||||
<name value="MyObservation"/>
|
||||
<title value="My Observation Profile"/>
|
||||
<status value="draft"/>
|
||||
<experimental value="true"/>
|
||||
<publisher value="Publisher for this artifact"/>
|
||||
<contact>
|
||||
<telecom>
|
||||
<!-- Contact for publisher of this artifact -->
|
||||
<system value="url"/>
|
||||
<value value="http://example.org/some-organization"/>
|
||||
</telecom>
|
||||
</contact>
|
||||
<description value="A profile showing the use of XML to author profiles"/>
|
||||
<useContext>
|
||||
<code>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
|
||||
<code value="gender"/>
|
||||
<display value="Gender"/>
|
||||
</code>
|
||||
<valueCodeableConcept>
|
||||
<coding>
|
||||
<system value="http://hl7.org/fhir/administrative-gender"/>
|
||||
<code value="female"/>
|
||||
<display value="Female"/>
|
||||
</coding>
|
||||
</valueCodeableConcept>
|
||||
</useContext>
|
||||
<useContext>
|
||||
<code>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
|
||||
<code value="age"/>
|
||||
<display value="Age Range"/>
|
||||
</code>
|
||||
<valueQuantity>
|
||||
<value value="2"/>
|
||||
<unit value="months"/>
|
||||
<system value="http://unitsofmeasure.org"/>
|
||||
<code value="mo"/>
|
||||
</valueQuantity>
|
||||
</useContext>
|
||||
<useContext>
|
||||
<code>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
|
||||
<code value="age"/>
|
||||
<display value="Age Range"/>
|
||||
</code>
|
||||
<valueQuantity>
|
||||
<value value="3"/>
|
||||
<system value="http://unitsofmeasure.org"/>
|
||||
<code value="mo"/>
|
||||
</valueQuantity>
|
||||
</useContext>
|
||||
<useContext>
|
||||
<code>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
|
||||
<code value="age"/>
|
||||
<display value="Age Range"/>
|
||||
</code>
|
||||
<valueQuantity>
|
||||
<value value="4"/>
|
||||
</valueQuantity>
|
||||
</useContext>
|
||||
<useContext>
|
||||
<code>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
|
||||
<code value="age"/>
|
||||
<display value="Age Range"/>
|
||||
</code>
|
||||
<valueRange>
|
||||
<high>
|
||||
<value value="1"/>
|
||||
<unit value="months"/>
|
||||
</high>
|
||||
</valueRange>
|
||||
</useContext>
|
||||
<useContext>
|
||||
<code>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
|
||||
<code value="age"/>
|
||||
<display value="Age Range"/>
|
||||
</code>
|
||||
<valueRange>
|
||||
<low>
|
||||
<value value="2"/>
|
||||
<unit value="years"/>
|
||||
</low>
|
||||
<high>
|
||||
<value value="5"/>
|
||||
<unit value="years"/>
|
||||
</high>
|
||||
</valueRange>
|
||||
</useContext>
|
||||
<useContext>
|
||||
<code>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
|
||||
<code value="age"/>
|
||||
<display value="Age Range"/>
|
||||
</code>
|
||||
<valueRange>
|
||||
<low>
|
||||
<value value="10"/>
|
||||
<unit value="years"/>
|
||||
</low>
|
||||
</valueRange>
|
||||
</useContext>
|
||||
<useContext>
|
||||
<code>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
|
||||
<code value="venue"/>
|
||||
<display value="Clinical Venue"/>
|
||||
</code>
|
||||
<valueReference>
|
||||
<reference value="http://example.org/Location/123"/>
|
||||
<display value="Some location"/>
|
||||
</valueReference>
|
||||
</useContext>
|
||||
<useContext>
|
||||
<code>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
|
||||
<code value="venue"/>
|
||||
<display value="Clinical Venue"/>
|
||||
</code>
|
||||
<valueReference>
|
||||
<display value="Some other location"/>
|
||||
</valueReference>
|
||||
</useContext>
|
||||
<useContext>
|
||||
<code>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
|
||||
<code value="venue"/>
|
||||
<display value="Clinical Venue"/>
|
||||
</code>
|
||||
<valueReference>
|
||||
<reference value="http://example.org/Location/456"/>
|
||||
</valueReference>
|
||||
</useContext>
|
||||
<useContext>
|
||||
<code>
|
||||
<system value="http://terminology.hl7.org/CodeSystem/usage-context-type"/>
|
||||
<code value="venue"/>
|
||||
<display value="Clinical Venue"/>
|
||||
</code>
|
||||
<valueReference>
|
||||
<identifier>
|
||||
<value value="LOCATION-ABC"/>
|
||||
</identifier>
|
||||
</valueReference>
|
||||
</useContext>
|
||||
<jurisdiction>
|
||||
<coding>
|
||||
<!-- Use this if the IG is country-specific -->
|
||||
<system value="urn:iso:std:iso:3166"/>
|
||||
<code value="US"/>
|
||||
</coding>
|
||||
</jurisdiction>
|
||||
<jurisdiction>
|
||||
<coding>
|
||||
<!-- Use this if the IG is state/province/territory-specific -->
|
||||
<system value="urn:iso:std:iso:3166:-2"/>
|
||||
<code value="CA-QC"/>
|
||||
</coding>
|
||||
</jurisdiction>
|
||||
<jurisdiction>
|
||||
<coding>
|
||||
<!-- Testing a jurisdiction that doesn't have a resolvable flag -->
|
||||
<system value="urn:iso:std:iso:3166:-2"/>
|
||||
<code value="GR-E"/>
|
||||
</coding>
|
||||
</jurisdiction>
|
||||
<jurisdiction>
|
||||
<!-- Use this only if there's no standard code for the jurisdiction -->
|
||||
<text value="The universe"/>
|
||||
</jurisdiction>
|
||||
<purpose value="Explain why this resource is necessary here"/>
|
||||
<copyright value="Explain licensing or other legal limitations on use"/>
|
||||
<keyword>
|
||||
<system value="http://example.org/some-system"/>
|
||||
<code value="01"/>
|
||||
<display value="keyword 1"/>
|
||||
</keyword>
|
||||
<keyword>
|
||||
<system value="http://example.org/some-system"/>
|
||||
<code value="01"/>
|
||||
<display value="keyword 2"/>
|
||||
</keyword>
|
||||
<fhirVersion value="4.0.0"/>
|
||||
<kind value="resource"/>
|
||||
<abstract value="false"/>
|
||||
<type value="Observation"/>
|
||||
<baseDefinition value="http://hl7.org/fhir/StructureDefinition/Observation"/>
|
||||
<derivation value="constraint"/>
|
||||
<differential>
|
||||
<element id="Observation.basedOn">
|
||||
<path value="Observation.basedOn"/>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.partOf">
|
||||
<path value="Observation.partOf"/>
|
||||
<type>
|
||||
<code value="Reference"/>
|
||||
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Procedure">
|
||||
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support">
|
||||
<valueBoolean value="true"/>
|
||||
</extension>
|
||||
</targetProfile>
|
||||
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Immunization"/>
|
||||
</type>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.code">
|
||||
<path value="Observation.code"/>
|
||||
<patternCodeableConcept>
|
||||
<coding>
|
||||
<system value="http://loinc.org"/>
|
||||
<code value="85354-9"/>
|
||||
</coding>
|
||||
</patternCodeableConcept>
|
||||
<binding>
|
||||
<strength value="required"/>
|
||||
<valueSet value="http://somewhere.org/fhir/uv/myig/ValueSet/valueset-fake"/>
|
||||
</binding>
|
||||
</element>
|
||||
<element id="Observation.subject">
|
||||
<path value="Observation.subject"/>
|
||||
<type>
|
||||
<code value="Reference"/>
|
||||
<targetProfile value="http://hl7.org/fhir/StructureDefinition/Patient">
|
||||
<!-- this is an error - it is meaningless unless the element itself is must-support -->
|
||||
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support">
|
||||
<valueBoolean value="true"/>
|
||||
</extension>
|
||||
</targetProfile>
|
||||
</type>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.focus">
|
||||
<path value="Observation.focus"/>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.value[x]">
|
||||
<path value="Observation.value[x]"/>
|
||||
<type>
|
||||
<extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support">
|
||||
<valueBoolean value="true"/>
|
||||
</extension>
|
||||
<code value="Quantity"/>
|
||||
</type>
|
||||
<type>
|
||||
<code value="CodeableConcept"/>
|
||||
</type>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.component">
|
||||
<path value="Observation.component"/>
|
||||
<slicing>
|
||||
<discriminator>
|
||||
<type value="pattern"/>
|
||||
<path value="code"/>
|
||||
</discriminator>
|
||||
<ordered value="false"/>
|
||||
<rules value="open"/>
|
||||
</slicing>
|
||||
<min value="2"/>
|
||||
<max value="*"/>
|
||||
</element>
|
||||
<element id="Observation.component:Systolic">
|
||||
<path value="Observation.component"/>
|
||||
<sliceName value="Systolic"/>
|
||||
<min value="1"/>
|
||||
<max value="1"/>
|
||||
</element>
|
||||
<element id="Observation.component:Systolic.code">
|
||||
<path value="Observation.component.code"/>
|
||||
<short value="Systolic pressure"/>
|
||||
<patternCodeableConcept>
|
||||
<coding>
|
||||
<system value="http://loinc.org"/>
|
||||
<code value="8480-6"/>
|
||||
</coding>
|
||||
</patternCodeableConcept>
|
||||
</element>
|
||||
<element id="Observation.component:Systolic.value[x]">
|
||||
<path value="Observation.component.valueQuantity"/>
|
||||
<type>
|
||||
<code value="Quantity"/>
|
||||
</type>
|
||||
</element>
|
||||
<element id="Observation.component:Systolic.value[x]:valueQuantity.value">
|
||||
<path value="Observation.component.valueQuantity.value"/>
|
||||
<min value="1"/>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.component:Systolic.value[x]:valueQuantity.system">
|
||||
<path value="Observation.component.valueQuantity.system"/>
|
||||
<min value="1"/>
|
||||
<fixedUri value="http://unitsofmeasure.org"/>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.component:Systolic.value[x]:valueQuantity.code">
|
||||
<path value="Observation.component.valueQuantity.code"/>
|
||||
<min value="1"/>
|
||||
<fixedCode value="mm[Hg]"/>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.component:Diastolic">
|
||||
<path value="Observation.component"/>
|
||||
<sliceName value="Diastolic"/>
|
||||
<min value="1"/>
|
||||
<max value="1"/>
|
||||
</element>
|
||||
<element id="Observation.component:Diastolic.code">
|
||||
<path value="Observation.component.code"/>
|
||||
<patternCodeableConcept>
|
||||
<coding>
|
||||
<system value="http://loinc.org"/>
|
||||
<code value="8462-4"/>
|
||||
</coding>
|
||||
</patternCodeableConcept>
|
||||
</element>
|
||||
<element id="Observation.component:Diastolic.value[x]:valueQuantity">
|
||||
<path value="Observation.component.valueQuantity"/>
|
||||
<type>
|
||||
<code value="Quantity"/>
|
||||
</type>
|
||||
</element>
|
||||
<element id="Observation.component:Diastolic.value[x]:valueQuantity.value">
|
||||
<path value="Observation.component.valueQuantity.value"/>
|
||||
<min value="1"/>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.component:Diastolic.value[x]:valueQuantity.system">
|
||||
<path value="Observation.component.valueQuantity.system"/>
|
||||
<min value="1"/>
|
||||
<fixedUri value="http://unitsofmeasure.org"/>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
<element id="Observation.component:Diastolic.value[x]:valueQuantity.code">
|
||||
<path value="Observation.component.valueQuantity.code"/>
|
||||
<min value="1"/>
|
||||
<fixedCode value="mm[Hg]"/>
|
||||
<mustSupport value="true"/>
|
||||
</element>
|
||||
</differential>
|
||||
</StructureDefinition>
|
||||
@@ -1,153 +0,0 @@
|
||||
{
|
||||
"resourceType" : "Questionnaire",
|
||||
"id" : "example",
|
||||
"url" : "http://somewhere.org/fhir/uv/myig/Questionnaire/example",
|
||||
"title": "Cancer Quality Forum Questionnaire 2012",
|
||||
"status": "draft",
|
||||
"subjectType": [
|
||||
"Patient"
|
||||
],
|
||||
"date": "2012-01",
|
||||
"item": [
|
||||
{
|
||||
"linkId": "1",
|
||||
"code": [
|
||||
{
|
||||
"system": "http://example.org/system/code/sections",
|
||||
"code": "COMORBIDITY"
|
||||
}
|
||||
],
|
||||
"type": "group",
|
||||
"item": [
|
||||
{
|
||||
"linkId": "1.1",
|
||||
"code": [
|
||||
{
|
||||
"system": "http://example.org/system/code/questions",
|
||||
"code": "COMORB"
|
||||
}
|
||||
],
|
||||
"prefix": "1",
|
||||
"type": "choice",
|
||||
"answerValueSet": "http://hl7.org/fhir/ValueSet/yesnodontknow",
|
||||
"item": [
|
||||
{
|
||||
"linkId": "1.1.1",
|
||||
"code": [
|
||||
{
|
||||
"system": "http://example.org/system/code/sections",
|
||||
"code": "CARDIAL"
|
||||
}
|
||||
],
|
||||
"type": "group",
|
||||
"enableWhen": [
|
||||
{
|
||||
"question": "1.1",
|
||||
"operator": "=",
|
||||
"answerCoding": {
|
||||
"system": "http://terminology.hl7.org/CodeSystem/v2-0136",
|
||||
"code": "Y"
|
||||
}
|
||||
}
|
||||
],
|
||||
"item": [
|
||||
{
|
||||
"linkId": "1.1.1.1",
|
||||
"code": [
|
||||
{
|
||||
"system": "http://example.org/system/code/questions",
|
||||
"code": "COMORBCAR"
|
||||
}
|
||||
],
|
||||
"prefix": "1.1",
|
||||
"type": "choice",
|
||||
"answerValueSet": "http://hl7.org/fhir/ValueSet/yesnodontknow",
|
||||
"item": [
|
||||
{
|
||||
"linkId": "1.1.1.1.1",
|
||||
"code": [
|
||||
{
|
||||
"system": "http://example.org/system/code/questions",
|
||||
"code": "COMCAR00",
|
||||
"display": "Angina Pectoris"
|
||||
},
|
||||
{
|
||||
"system": "http://snomed.info/sct",
|
||||
"code": "194828000",
|
||||
"display": "Angina (disorder)"
|
||||
}
|
||||
],
|
||||
"prefix": "1.1.1",
|
||||
"type": "choice",
|
||||
"answerValueSet": "http://hl7.org/fhir/ValueSet/yesnodontknow"
|
||||
},
|
||||
{
|
||||
"linkId": "1.1.1.1.2",
|
||||
"code": [
|
||||
{
|
||||
"system": "http://snomed.info/sct",
|
||||
"code": "22298006",
|
||||
"display": "Myocardial infarction (disorder)"
|
||||
}
|
||||
],
|
||||
"prefix": "1.1.2",
|
||||
"type": "choice",
|
||||
"answerValueSet": "http://hl7.org/fhir/ValueSet/yesnodontknow"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"linkId": "1.1.1.2",
|
||||
"code": [
|
||||
{
|
||||
"system": "http://example.org/system/code/questions",
|
||||
"code": "COMORBVAS"
|
||||
}
|
||||
],
|
||||
"prefix": "1.2",
|
||||
"type": "choice",
|
||||
"answerValueSet": "http://hl7.org/fhir/ValueSet/yesnodontknow"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"linkId": "2",
|
||||
"code": [
|
||||
{
|
||||
"system": "http://example.org/system/code/sections",
|
||||
"code": "HISTOPATHOLOGY"
|
||||
}
|
||||
],
|
||||
"type": "group",
|
||||
"item": [
|
||||
{
|
||||
"linkId": "2.1",
|
||||
"code": [
|
||||
{
|
||||
"system": "http://example.org/system/code/sections",
|
||||
"code": "ABDOMINAL"
|
||||
}
|
||||
],
|
||||
"type": "group",
|
||||
"item": [
|
||||
{
|
||||
"linkId": "2.1.2",
|
||||
"code": [
|
||||
{
|
||||
"system": "http://example.org/system/code/questions",
|
||||
"code": "STADPT",
|
||||
"display": "pT category"
|
||||
}
|
||||
],
|
||||
"type": "choice"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ValueSet xmlns="http://hl7.org/fhir" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://hl7.org/fhir ../../input-cache/schemas/R4/fhir-single.xsd">
|
||||
<id value="valueset-fake"/>
|
||||
<url value="http://somewhere.org/fhir/uv/myig/ValueSet/valueset-fake"/>
|
||||
<name value="ValueSetFake"/>
|
||||
<title value="ValueSet fake"/>
|
||||
<status value="draft"/>
|
||||
<experimental value="true"/>
|
||||
<date value="2015-06-22"/>
|
||||
<description value="A fake value"/>
|
||||
<compose>
|
||||
<include>
|
||||
<system value="http://somewhere.org/fhir/uv/myig/CodeSystem/cs-fake"/>
|
||||
<concept>
|
||||
<code value="01"/>
|
||||
<display value="VS1"/>
|
||||
<designation>
|
||||
<value value="VS2"/>
|
||||
</designation>
|
||||
</concept>
|
||||
</include>
|
||||
</compose>
|
||||
</ValueSet>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user