{"_id":"@asymmetrik/node-cds-hooks","_rev":"12-3839eed517456006045aa11bebc118e6","name":"@asymmetrik/node-cds-hooks","dist-tags":{"latest":"1.1.1"},"versions":{"0.1.0":{"name":"@asymmetrik/node-cds-hooks","version":"0.1.0","keywords":["Hello","Greeter"],"license":"MIT","_id":"@asymmetrik/node-cds-hooks@0.1.0","maintainers":[{"name":"soneill","email":"soneill@asymmetrik.com"},{"name":"sshah-asymmetrik","email":"sshah@asymmetrik.com"},{"name":"jlee-asymmetrik","email":"jlee@asymmetrik.com"},{"name":"brianghig","email":"brianghig@gmail.com"},{"name":"rblace","email":"ryan@asymmetrik.com"},{"name":"reblace","email":"rblace@asymmetrik.com"},{"name":"robert-w","email":"RWinter85@gmail.com"},{"name":"amarcus","email":"amarcus@asymmetrik.com"}],"homepage":"https://github.com/Asymmetrik/node-cds-hooks#readme","bugs":{"url":"https://github.com/Asymmetrik/node-cds-hooks/issues"},"dist":{"shasum":"16d54b07ea1b7b94871a1a2528fb88e0bc6e6ad7","tarball":"https://registry.npmjs.org/@asymmetrik/node-cds-hooks/-/node-cds-hooks-0.1.0.tgz","fileCount":23,"integrity":"sha512-uSGRLK/CziHm3CCTKKriipveMXHO2tHloUBw7yXAnGNhZkn1h21xK+SKp861J9S6VBARKWxzEu7hEOXPXYLJ8Q==","signatures":[{"sig":"MEUCIAIMUsrhbOsW5i/qHuvZ9uJBro0KTLBzuyQoZ/f30qZ7AiEA4lBJ6KxP7eEsuQeAoXsEwQ6XSd7eFLDD3AM1ITnJRak=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":166684,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDg2mCRA9TVsSAnZWagAAR30P/1LnBujrj8lC2SdXQeZl\ni6UnQEujmH2ZHvjm5ugfvvJ3uSB/Q9f6jcE0OpiYf6fp9abtZAnIHlRstA/b\ne+lqsc7kwffLeqtKFgAZEMnozZg/F0AJVm7CZ4fUYaVdw2UN406O+rbZ0BW+\nyCOnPmpXY5zaxXyt6aAheMqndJghutlT8SgZN7C2V8N9FqT5mzBhDevTuwAG\nnE/ytxdlEl46aA/ENsVZ66b0rAdlTLYEWFJbgL0/xUhoyT52eTC8NmR4OQA7\nDcgVcZOddDWIO5crziTEmJXkynrhRfArx0V0ozL3iKFGPsaXx4SgR98B/vSu\nQyEpJKCp2XdcSAaxtRv1aVrFqcUxpPckdiIfatkjQst1+zHOUH72RHlBo1iF\nQekb0W1c55Bg1xwvyHWHiHEZPb3ZwYRzvb8N0Tsr+JJ1b7bBTt5072na7g2H\nHqencbA5N74Uf2iFBQTgZXmXZj19RQB/jV9o2q6+CTbzwzGavzvdXtXkPcQ5\noAZkf9kfkM/FFVuE7ua7H/8ReU0AKURTqj8wUwOIEjvOh4FmwOawG1htnD9S\nhQKu6hvAnhhVlBxwtwteHjlx9s15jIhpZ1Xvfi+m95Cw/sQlFq64kJfgWsjC\nTxpOLsn5tqEX6MOwmHd25ezazBpsQaA7tJdBWh60VNyKvx6obHP4Vs5OzJWI\nVUdE\r\n=iNtz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"pre-push":"npm run lint && npm test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"npm run lint && npm test"}},"types":"dist/index.d.ts","gitHead":"932c315871dea4f13b64a2d5d96f2099e3224ea2","scripts":{"lint":"eslint './src/**/*.{js,ts,tsx}'","test":"jest","build":"tsc","watch":"tsc -w","test:watch":"jest --watchAll","semantic-release":"semantic-release"},"_npmUser":{"name":"soneill","email":"soneill@asymmetrik.com"},"repository":{"url":"TODO","type":"git"},"_npmVersion":"6.14.5","description":"A framework for creating NodeJS CDS Hooks applications","directories":{"doc":"doc"},"_nodeVersion":"12.18.1","dependencies":{"cors":"^2.8.5","morgan":"^1.10.0","express":"^4.17.1","body-parser":"^1.19.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.1.0","husky":"^4.2.5","eslint":"^7.4.0","nodemon":"^2.0.4","ts-jest":"^26.1.1","prettier":"^2.0.5","supertest":"^4.0.2","typescript":"^3.9.6","@types/cors":"^2.8.6","@types/jest":"^26.0.4","@types/node":"^14.0.19","@types/lodash":"^4.14.157","@types/morgan":"^1.9.1","@types/express":"^4.17.7","@types/winston":"^2.4.4","@commitlint/cli":"^9.0.1","@types/supertest":"^2.0.10","semantic-release":"^17.1.1","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.6.0","@commitlint/config-conventional":"^9.0.1","@typescript-eslint/eslint-plugin":"^3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/node-cds-hooks_0.1.0_1594756518388_0.7504097745411942","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@asymmetrik/node-cds-hooks","version":"1.0.0","keywords":["Hello","Greeter"],"license":"MIT","_id":"@asymmetrik/node-cds-hooks@1.0.0","maintainers":[{"name":"amarcus","email":"amarcus@asymmetrik.com"},{"name":"brianghig","email":"brianghig@gmail.com"},{"name":"jlee-asymmetrik","email":"jlee@asymmetrik.com"},{"name":"rblace","email":"ryan@asymmetrik.com"},{"name":"reblace","email":"rblace@asymmetrik.com"},{"name":"robert-w","email":"RWinter85@gmail.com"},{"name":"soneill","email":"soneill@asymmetrik.com"},{"name":"sshah-asymmetrik","email":"sshah@asymmetrik.com"}],"homepage":"https://github.com/Asymmetrik/node-cds-hooks#readme","bugs":{"url":"https://github.com/Asymmetrik/node-cds-hooks/issues"},"dist":{"shasum":"f360b0a31cd46c92d90ef2e91920ba7e17726582","tarball":"https://registry.npmjs.org/@asymmetrik/node-cds-hooks/-/node-cds-hooks-1.0.0.tgz","fileCount":23,"integrity":"sha512-v6MsyBH9SvagsYUjgrBj2AZUUneDnAaxG15wcgbKcUJORfGwEo5Rvv1gMCPtW0CFiNw0WuI13pFljz4BWhY2SQ==","signatures":[{"sig":"MEYCIQDv7Y+qgU8jQf82HVzO0wZfSsEYSgjLUg6dRRimlJjNWgIhAMzp1OE7oRMt/SeFGfg2JplS/8ux7cfrNrPSJQFzUwNt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":167194,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDkW9CRA9TVsSAnZWagAAyZ0P/Rhhtx5ZTGULtmKoQwDd\nQjnSA8ANO95ix/SU+GFQ7agLZx/j9IfjCq4liHpsd0mckTKnphTwOdmDbiGs\nK5osxdn6UpIeSrnkalolVeTd8X1kkn1UE6KbDZXLPmEMHcba4zA0AbtsAkvu\nbW9kVjcYM5Ou4gOt9312xXmj3YH2r4zDzkEnTqo4B9AvRra7sRKsvmdLLyAI\nkadXF2Nap4UdeGM+2w570EAUA8fwU6jW9/RVqtT4vDSuPxE1GDs+r+oPU6PP\nB4It06tWTH3eHMGRpEafH3kRvRZQCMsI/dtP3zRpyvDtt6HQnR9pYFW0ZP+E\nmSfWXxWxvbwt2NjBMotJqLqvoaHp9tKU8lbV7gMUFWEyL2UNsolvVYNim0WS\ngtic2Y6+yA803/Q+SlpYK0zQTN4HF5KtD++rX9cCo7BGFIcVQhiFhYsUznTD\nVzjol8NsHx9FcprA1blL1wp/+R6x1fVK4zct1GIofwG7ozu9vU71cTcFc8O+\nAg22jCz5QQXue1rIsJ+9LskDia/QvM5xYhXrm91BbFbRxU1ao2uSJEllBPC8\nQaLJkmiul939pK4FKU37PtI2HGpoT5CYd4uSOuDQPkt31tY/RDk0xQqjwxXa\nu1Zkd3LblH1ttTY8vlBpYAGICXoQU/DSo66Og1Trw8qWOeVcTTGZ62G2GX5M\na6cu\r\n=pSS5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"pre-push":"npm run lint && npm test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"npm run lint && npm test"}},"types":"dist/index.d.ts","gitHead":"a8dbaf4d60230f2b630550cdcc6ef2c5ecaac82e","scripts":{"lint":"eslint './src/**/*.{js,ts,tsx}'","test":"jest","build":"tsc","watch":"tsc -w","test:watch":"jest --watchAll","semantic-release":"semantic-release"},"_npmUser":{"name":"soneill","email":"soneill@asymmetrik.com"},"repository":{"url":"TODO","type":"git"},"_npmVersion":"6.14.5","description":"A framework for creating NodeJS CDS Hooks applications","directories":{"doc":"doc"},"_nodeVersion":"12.18.1","dependencies":{"cors":"^2.8.5","morgan":"^1.10.0","express":"^4.17.1","body-parser":"^1.19.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.1.0","husky":"^4.2.5","eslint":"^7.4.0","nodemon":"^2.0.4","ts-jest":"^26.1.1","prettier":"^2.0.5","supertest":"^4.0.2","typescript":"^3.9.6","@types/cors":"^2.8.6","@types/jest":"^26.0.4","@types/node":"^14.0.19","@types/lodash":"^4.14.157","@types/morgan":"^1.9.1","@types/express":"^4.17.7","@types/winston":"^2.4.4","@commitlint/cli":"^9.0.1","@types/supertest":"^2.0.10","semantic-release":"^17.1.1","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.6.0","@commitlint/config-conventional":"^9.0.1","@typescript-eslint/eslint-plugin":"^3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/node-cds-hooks_1.0.0_1594770877014_0.7572269061923256","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@asymmetrik/node-cds-hooks","version":"1.1.1","keywords":["CDS Hooks","FHIR"],"license":"MIT","_id":"@asymmetrik/node-cds-hooks@1.1.1","maintainers":[{"name":"amarcus","email":"amarcus@asymmetrik.com"},{"name":"brianghig","email":"brianghig@gmail.com"},{"name":"jlee-asymmetrik","email":"jlee@asymmetrik.com"},{"name":"rblace","email":"ryan@asymmetrik.com"},{"name":"reblace","email":"rblace@asymmetrik.com"},{"name":"robert-w","email":"RWinter85@gmail.com"},{"name":"soneill","email":"soneill@asymmetrik.com"},{"name":"sshah-asymmetrik","email":"sshah@asymmetrik.com"}],"homepage":"https://github.com/Asymmetrik/node-cds-hooks#readme","bugs":{"url":"https://github.com/Asymmetrik/node-cds-hooks/issues"},"dist":{"shasum":"62ef2c06cfe05e007e1e632b4e6ea15bdd3267c3","tarball":"https://registry.npmjs.org/@asymmetrik/node-cds-hooks/-/node-cds-hooks-1.1.1.tgz","fileCount":23,"integrity":"sha512-Y1MHpNylpB0Cdlloe0fo7peOlHx6Zsp4AyS1XBP08+kdr0fvrEZI7poRa+kLKblFMH0jY68jaH21dryslOXVXg==","signatures":[{"sig":"MEQCIBEFnVqYPvqv/SRj0Jw0xQ0kLtBzqEUKd0lt7jtgUQqkAiB4ukPkoc3/amqE7aqw6lu7L7JSwqYvsL5ea5udNnCkJQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":167236,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDkgZCRA9TVsSAnZWagAAGlEP/jFy0iRtqjv/wzHAJANT\nFQ+MP43OZMiRvxmZe6TruX8mBxdapWvIfotcpx3OK3XrOTs49e4BuRRj/96Q\nBbJzXvZeZSQTMco8+6sr/1i0qm8Yrkkg7k+4CHMxXeFV7aozuIXjmcu5tM/y\nwEQIK6jE9o1uzc4J9gv/NGbP/Smt54GaIFBR/hqiA/AnmBCp2kk/99D5Cty+\nfpZ+c3T43gzJClIAQYQ/c5Frp9d0RVNuKjp6HA2P/tmVrRYJEQpAbWOzKnLM\nuZuk0YWkZX+9ZeEabsoDJhv1QUS4gKa/UjIgRN/ZudavNDNcmEYWjwCGXahV\nsnPNTCfvPoe3e7l1/Yr0oDjdhaatn1pAqQxVwZ/o6M3sj4uUX8GxixlnuCTt\nlsq258CLohJLuT/IPGXj24c5yNI/0RauQCHBI8s6c2Z8PISr6cITuCnBZnWP\n+NnbBUctpBNJ6+EJxq44ggctS/ExBnNYWK35JV3pG7QUcqBT2UR+dcwIlfwG\nJgJ3BCuKxo5Q0hp6YMQNVHIRcZ2ZW/PAwCNNzr4LCZjOGZE8I8fHH9kgwUZW\nfR+DI8kZMcT/WRVhUxfsRjppnTv7CwCFXSUElBFT8b9ONxDnCCjRN+PEdmah\n6IcC97dq2Ibg5Tuv2TYLf9l8h3K/NnXO+DYCIpgNGfs3Wfp2JgWI7gv38zwv\nJk81\r\n=H3N/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","husky":{"hooks":{"pre-push":"npm run lint && npm test","commit-msg":"commitlint -E HUSKY_GIT_PARAMS","pre-commit":"npm run lint && npm test"}},"types":"dist/index.d.ts","gitHead":"d35c4bc55a11729c420835fbaab1f2fefb0180b3","scripts":{"lint":"eslint './src/**/*.{js,ts,tsx}'","test":"jest","build":"tsc","watch":"tsc -w","test:watch":"jest --watchAll","semantic-release":"semantic-release"},"_npmUser":{"name":"soneill","email":"soneill@asymmetrik.com"},"repository":{"url":"git+https://github.com/Asymmetrik/node-cds-hooks.git","type":"git"},"_npmVersion":"6.14.5","description":"A framework for creating NodeJS CDS Hooks applications","directories":{"doc":"doc"},"_nodeVersion":"12.18.1","dependencies":{"cors":"^2.8.5","morgan":"^1.10.0","express":"^4.17.1","body-parser":"^1.19.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^26.1.0","husky":"^4.2.5","eslint":"^7.4.0","nodemon":"^2.0.4","ts-jest":"^26.1.1","prettier":"^2.0.5","supertest":"^4.0.2","typescript":"^3.9.6","@types/cors":"^2.8.6","@types/jest":"^26.0.4","@types/node":"^14.0.19","@types/lodash":"^4.14.157","@types/morgan":"^1.9.1","@types/express":"^4.17.7","@types/winston":"^2.4.4","@commitlint/cli":"^9.0.1","@types/supertest":"^2.0.10","semantic-release":"^17.1.1","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.4","@typescript-eslint/parser":"^3.6.0","@commitlint/config-conventional":"^9.0.1","@typescript-eslint/eslint-plugin":"^3.6.0"},"_npmOperationalInternal":{"tmp":"tmp/node-cds-hooks_1.1.1_1594771481316_0.5244651393120214","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-07-14T19:55:18.157Z","modified":"2026-03-13T16:28:45.174Z","0.1.0":"2020-07-14T19:55:18.488Z","1.0.0":"2020-07-14T23:54:37.206Z","1.1.1":"2020-07-15T00:04:41.537Z"},"bugs":{"url":"https://github.com/Asymmetrik/node-cds-hooks/issues"},"license":"MIT","homepage":"https://github.com/Asymmetrik/node-cds-hooks#readme","keywords":["CDS Hooks","FHIR"],"repository":{"url":"git+https://github.com/Asymmetrik/node-cds-hooks.git","type":"git"},"description":"A framework for creating NodeJS CDS Hooks applications","maintainers":[{"email":"ryan.blace@bluehalo.com","name":"rblace"},{"email":"reblace@gmail.com","name":"reblace"},{"email":"ekoon@asymmetrik.com","name":"ekoon121"},{"email":"amarcus@asymmetrik.com","name":"amarcus"},{"email":"soneill@asymmetrik.com","name":"soneill"}],"readme":"# Node CDS Hooks\n\n![Build Status](https://travis-ci.org/Asymmetrik/node-cds-hooks.svg?branch=master)\n\nA framework for making CDS Hooks applications -- APIs that serve Cards to providers within EHRs.\n\n## Getting started\n\nInstall node-cds-hooks as an npm module and save it to your package.json as a dependency\n\n```sh\nnpm i s @asymmetrik/node-cds-hooks\n```\n\n## Example Usage\n\n```js\nconst { CDSServer, Service } = require('@asymmetrik/node-cds-hooks');\n\nconst definition = {\n  hook: 'patient-view',\n  name: 'CDS Service Starter Patient View',\n  description: 'An example of a CDS Service that displays \"Hello World!\"',\n  id: 'cds-service-starter-patient-view',\n  prefetch: {\n    patient: 'Patient/{{context.patientId}}',\n  }\n}\n\nconst handler = (req) => {\n    return {\n      cards: [\n        {\n          summary: 'My summary',\n          detail: 'My details',\n          source: {\n            label: 'Node CDS Hooks',\n            url: 'https://example.com',\n          },\n          indicator: 'info',\n        }\n      ]\n    }\n  }\n\n};\n\n// Create the server\nconst app = new CDSServer();\n\n// Create the service\nconst service = new Service(definition,  handler);\n\n// Register the service\napp.registerService(service);\n\n// Start the application\nconst port = 9000\napp.listen({ port }, () => {\n  logger.info('Application listening on port: ' + port);\n}\n```\n\nAfter your app is running, query your discovery endpoint.\n\n```sh\ncurl http://localhost:9000/cds-services\n{\"services\":[{\"hook\":\"patient-view\",\"name\":\"CDS Service Starter Patient View\",\"description\":\"An example of a CDS Service that displays \\\"Hello World!\\\"\",\"id\":\"cds-service-starter-patient-view\",\"prefetch\":{\"patient\":\"Patient/{{context.patientId}}\"}}]}\n```\n\nYou're up and running!\n","readmeFilename":"README.md"}