Skip to content
Browse documentation

OPRP 0.1.0-dev.11 · Draft documentation

Website and source publication

The developer documentation site is published at OPRP's current public URL. The requested oprp.convey.care hostname is registered but still awaits DNS verification. The website contains the complete repository documentation and source/schema references, developer guides, SDK compatibility and project status. Public SDK repository links remain pending the approved Git destination. Apache-licensed developer installation packages are available from the website.

License

OPRP's original specification, documentation, schemas, profiles, reference Host, SDKs and tooling are licensed under the Apache License, Version 2.0, with attribution in NOTICE. This permits royalty-free commercial use, modification and redistribution subject to the license terms. There is no restriction on modified forks or independently written compatible implementations. The Apache license includes its contributor patent grant; broader standards governance and patent commitments remain separate work.

The license applies to this OPRP project, not the existing Convey portal or a future EMR. Third-party materials retain their own licenses and notices. Convey names/logos identify the official publisher; Apache 2.0 does not grant general trademark rights or establish certification.

Root and SDK/profile metadata use Apache-2.0. TypeScript, Python, .NET and clinical profile packages include the license and attribution notices. Package generation is local; website downloads do not imply npm, PyPI or NuGet registry publication.

Git release preparation

npm run prepare:release

This creates a protocol-only export under ignored .demo/public-release and a source tarball with file hashes. It includes the specification, schemas, profiles, all three SDK projects, reference Host, synthetic tests, operational tooling, site builder and prepared CI. It excludes the existing portal, local service identities/databases, virtual environments, caches, generated builds and environment files. No public Git push or package-registry publication occurs in that command. The manifest reports whether an assigned root license and LICENSE file exist; source preparation alone is not an open-source rights grant.

The currently connected GitHub account is unable to access the existing Convey-Health repository. Choose/connect the approved account or organization before creating the public repository. The license and package metadata are now aligned. Preserve third-party notices, publish the dedicated source, tag the verified developer version and attach the built SDK/profile packages with checksums. Verify actual repository/release URLs before adding website links. Do not publish the entire existing Convey application repository to solve this step.

The source includes contribution/security drafts and official-action revisions pinned in CI. Local checks passed; remote GitHub Actions execution is still to be observed once a repository is connected. The baseline developer release uses Git installation packages first; npm/PyPI/NuGet registry publication is a separate maintainership step.

Documentation site lifecycle

npm run build:website renders repository Markdown into a portable static site; npm run check:website validates local routes, assets, source links and heading anchors. website/config.json supplies the actual repository, license, canonical site origin and recorded test evidence. The generator uses Convey's existing assets and self-hosted Cairo font with its original notice. No patient record server, authority or central protocol lookup is hosted by the documentation site.

The current site is served through Sites from a dedicated Git-backed static checkout. Its hosting manifest belongs to that deployment checkout rather than the protocol implementation. Future source and documentation remain usable independently of Sites or Convey hosting. Keep generated content and native deployment metadata aligned; only a successful deployment status establishes a live publication.

Next.js website and Vercel deployment

The website is a separate Next.js App Router, Tailwind CSS and shadcn/ui project in protocol/website. Its React pages are in website/app, shared components in website/components, and the official shadcn/ui components in website/components/ui. website/package.json, next.config.ts, postcss.config.mjs and components.json define the website stack.

In Vercel, import Convey-Health/Convey-Exchange on branch main, set Root Directory protocol/website, and choose Framework Preset Next.js. Install with npm ci --include=dev, build with npm run build, and use Output Directory .next as supplied by website/vercel.json. Clear any dashboard override of out, or change it to .next. The Vercel Next.js adapter reads build metadata such as routes-manifest.json from .next, detects the completed static export and serves its pages from out. Pointing the adapter at out causes the missing route-manifest error. The website's postbuild check verifies both the adapter metadata and exported documentation pages. This is a real Next.js application using static export for documentation pages; it does not run a clinical Host on Vercel.

The prepared content snapshot and public files are included in the website project so Vercel needs no files outside its selected root. From the protocol directory, npm run build:website refreshes that snapshot from the canonical Markdown, schemas and source references, then builds Next.js. For a website-only checkout, npm ci and npm run build use the checked-in snapshot. After editing protocol documentation, refresh and commit the website content/public files with the documentation changes.

The current signed/hashed SDK archives are staged under website/releases. After rebuilding and verifying a release locally, run npm run stage:website-downloads before refreshing the website content. Website preparation verifies SHA-256 checksums and the website's prebuild verifies the prepared content/public files. The build requires no Python/.NET/Java or private validator cache.

Optional OPRP_SITE_ORIGIN supplies the actual production origin for sitemap and metadata, such as https://convey-oprp.vercel.app, or https://oprp.convey.care after the domain is connected. Vercel custom-domain setup uses Vercel's records; the existing Sites verification records apply only to Sites.

The oprp-site folder is the separate checkout for the original hosted preview and is excluded from Exchange Git. It is not the editable Next.js project. If protocol/website is absent from Vercel's picker, verify the selected repository, branch and pushed commit.

Custom hostname

convey.care currently uses Vercel DNS. The domain connection needs one CNAME and two TXT verification records. Exact records are saved in the private local publication report returned by the hosting provider. Add them for the oprp subdomain without replacing the main website's DNS records, then refresh the domain status and wait for active routing/certificate status. A registered/pending domain is not a live HTTPS endpoint.

Once oprp.convey.care is active, update the site's canonical origin and republish its sitemap/metadata. Add the OPRP link to the main Convey navigation when its actual website source/deployment is available.

Next: complete the Git account/destination choice, publish the verified source/release links, and apply/verify the exact DNS records for the requested hostname.

View source

Documentation follows the experimental reference implementation.