{"id":16105417,"url":"https://github.com/dinbtechit/playground-basic-test-app","last_synced_at":"2025-04-06T02:44:10.405Z","repository":{"id":41862323,"uuid":"310702646","full_name":"dinbtechit/playground-basic-test-app","owner":"dinbtechit","description":null,"archived":false,"fork":false,"pushed_at":"2022-04-25T22:56:53.000Z","size":7193,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-12T08:56:18.486Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dinbtechit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-06T20:48:50.000Z","updated_at":"2022-04-25T22:56:50.000Z","dependencies_parsed_at":"2022-08-11T19:40:16.189Z","dependency_job_id":null,"html_url":"https://github.com/dinbtechit/playground-basic-test-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinbtechit%2Fplayground-basic-test-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinbtechit%2Fplayground-basic-test-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinbtechit%2Fplayground-basic-test-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dinbtechit%2Fplayground-basic-test-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dinbtechit","download_url":"https://codeload.github.com/dinbtechit/playground-basic-test-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247426985,"owners_count":20937197,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-09T19:09:31.837Z","updated_at":"2025-04-06T02:44:10.389Z","avatar_url":"https://github.com/dinbtechit.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HAPI FHIR Playground: Basic Test App\n\nThis project is a skeleton project for querying data from the [HAPI FHIR public test server](http://hapi.fhir.org/baseR4)\n\n### Getting Started:\n\n* [x] Take a few minutes to familiarize yourself with the [FHIR Standard](http://hl7.org/fhir/) for health data exchange. In particular you might want to read the [Executive Summary](http://hl7.org/fhir/summary.html) and the [Developer Introduction](http://hl7.org/fhir/overview-dev.html)\n\n* [X] In addition, take a few minutes to familiarize yourself with [Angular](https://angular.io/docs). Understand the basics of component structures, HTTP calls, and other basics covered in the [Fundamentals](https://angular.io/guide/architecture) section.\n  \n* [x] Create your own GitHub project and copy the contents of this repository into your own project (please don't fork this repository)\n\n* [x] Locate the component `AppComponent` and run it. You should see results pop up in the console of your web browser\n\n* [x] **Please, do not fork this repo.** Create your own private GitHub repository to do your work in.\n\n### Basic Tasks:\n\n* [x] Add a table to AppComponent and populate it with results from the `getPatients()` function.\n\n* [x] Modify the `ApiService` class to include another call that fetches all `Patient` resources whose `birthdate` are between 1960 and 1965 (inclusive).\n\n* [x] Sort the table based on youngest birthdate to oldest.\n\n* [x] Time the request. Output the time on the footer of the page. Use a pipe for formatting the output.\n\n* [x] Add a search function to the page. Add two inputs to `AppComponent` - a textbox that takes in a name (first or last), and a datepicker.  Modify the `ApiService` to include a call that searches for a `Patient` based on the name passed in, and the date of birth passed in from the date picker. The results should be reflected in the table. Use the [SearchParameters section](https://www.hl7.org/fhir/patient.html#search) to help with building your query.\n\n* [x] Apply validation to the inputs - the name box cannot contain non-alphabetic characters, and the date field must be a valid date structure (YYYY/MM/DD).\n\n* [x] Prevent the button search button from multi-clicks wihout using timeouts.\n\n* [x] Commit your work.\n\n## Solution\ncheckout the working app -\u003e [`https://dynamic-questionnaire-fhir.web.app/pa`](https://dynamic-questionnaire-fhir.web.app/pa)\n\n![](./readmeScreenshots/basicTask.gif)\n\n### Intermediate Tasks:\n\n* [X] In `QuestionnaireComponent`, generate a form using the `questionnaire.json` file in the `assests` folder. The form should have validation applied to each input.\n\n* [X] Using the results from the form, generate a [`QuestionnaireResponse`](https://www.hl7.org/fhir/questionnaireresponse.html). The `QuestionnaireResponse` should follow the structure outlined in the [Resource Content Section](https://www.hl7.org/fhir/questionnaireresponse.html#resource)\n\n* [X] Display your results at the bottom of the page.\n\n* [X] Update the `QuestionnaireComponent` to be mobile-friendly.\n\n* [X] Please include unit tests for your work.\n\n* [X] Commit your work.\n\n## Solution\n\ncheckout the working app -\u003e [`https://dynamic-questionnaire-fhir.web.app/qna`](https://dynamic-questionnaire-fhir.web.app/qna)\n\n![](./readmeScreenshots/Questionnaire-sc1.png)\n\n**Complete Questionnaire Response:**\n```json\n{\n  \"resourceType\": \"QuestionnaireResponse\",\n  \"identifier\": {\n    \"value\": \"a73b3550-229c-11eb-86dd-3f3f88766ce6\"\n  },\n  \"questionnaire\": \"http://hl7.org/fhir/Questionnaire/f201\",\n  \"status\": \"completed\",\n  \"authored\": \"2020-11-09T15:02:58.085Z\",\n  \"item\": [\n    {\n      \"linkId\": \"1\",\n      \"text\": \"Do you have allergies?\",\n      \"answer\": [\n        {\n          \"valueBoolean\": true\n        }\n      ]\n    },\n    {\n      \"linkId\": \"2\",\n      \"text\": \"General questions\",\n      \"item\": [\n        {\n          \"linkId\": \"2.1\",\n          \"text\": \"What is your gender?\",\n          \"answer\": [\n            {\n              \"valueString\": \"asfsdaf\"\n            }\n          ]\n        },\n        {\n          \"linkId\": \"2.2\",\n          \"text\": \"What is your date of birth?\",\n          \"answer\": [\n            {\n              \"valueDate\": \"2020-11-18\"\n            }\n          ]\n        },\n        {\n          \"linkId\": \"2.3\",\n          \"text\": \"What is your country of birth?\",\n          \"answer\": [\n            {\n              \"valueString\": \"asdfsa\"\n            }\n          ]\n        },\n        {\n          \"linkId\": \"2.4\",\n          \"text\": \"What is your marital status?\",\n          \"answer\": [\n            {\n              \"valueString\": \"asfasdfa\"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      \"linkId\": \"3\",\n      \"text\": \"Intoxications\",\n      \"item\": [\n        {\n          \"linkId\": \"3.1\",\n          \"text\": \"Do you smoke?\",\n          \"answer\": [\n            {\n              \"valueBoolean\": true\n            }\n          ]\n        },\n        {\n          \"linkId\": \"3.2\",\n          \"text\": \"Do you drink alchohol?\",\n          \"answer\": [\n            {\n              \"valueBoolean\": true\n            }\n          ]\n        }\n      ]\n    }\n  ]\n}\n```\n\n![](./readmeScreenshots/questionnaire-sc2.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinbtechit%2Fplayground-basic-test-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdinbtechit%2Fplayground-basic-test-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdinbtechit%2Fplayground-basic-test-app/lists"}